Почему то никак не получается вывести из базы данных никакую информацию. Вот код. Код (Text): <body> <?php $db = mysql_connect ("localhost", "real_poz", "sddeee"); mysql_select_db ("real_poz", $db); if ($db = 0) {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} 16 cтрока $result = mysql_query ("SELECT * FROM `dle_post` WHERE `id`='18' ", $db); 17 cтрока $myrow = mysql_fetch_array ($result); 18 cтрока echo $myrow ["autor"]; ?> </body> Соединяется с базой успешно. Но ничего не выводит. Пробовал разные варианты, то на одном из них выводил автора статьи и дату, а сейчас выдает ошибку: Код (Text): Соединение создано успешно Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in Z:\home\localhost\www\php\index.php on line 16 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\php\index.php on line 17 Вроде все верно написал... Что не так делаю?
<body> <?php $db = mysql_connect ("localhost", "real_poz", "sddeee"); mysql_select_db ("real_poz", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $result = mysql_query ("SELECT * FROM dle_post WHERE id='18' ", $db); $myrow = mysql_fetch_array ($result); echo "$myrow ["autor"]";
Поменял на: Код (Text): <?php $db = mysql_connect ("localhost", "realm461_pozdrav", "Пароль"); mysql_select_db ("realm461_pozdrav", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $result = mysql_query ("SELECT * FROM dle_post WHERE id='18' ", $db); $myrow = mysql_fetch_array ($result); echo $myrow ["autor"]; ?> Ошибки пропали, но информация из поля автор так и не выводится на странице. Просто написано "Соединение создано успешно". Просматривал саму БД. Строка с id='18' есть, да и id самое менял не однократно, но все равно не выводится ничего (
Когда убрал Код (Text): WHERE id='18' и написал просто Код (Text): $result = mysql_query ("SELECT * FROM dle_post", $db); - автор вывелся на странице, а ставлю конкретной новости Код (Text): id='18' - ничего не выводится... В чем же проблема?[/quote]
Подсказали дописать часть кода для обработки ошибок: Код (Text): <?php $db = mysql_connect ("localhost", "realm461_pozdrav", "пароль"); mysql_select_db ("realm461_pozdrav", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $sql = mysql_query ("SELECT * FROM dle_post WHERE id=`5993`", $db); $result = mysql_query($sql); echo "<br>"; if(!$result) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } ?> Теперь выводится на странице: Код (Text): Соединение создано успешно Возникла ошибка - Query was empty
Поменял: Код (Text): <?php $db = mysql_connect ("localhost", "realm461_pozdrav", "пароль"); mysql_select_db ("realm461_pozdrav", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $sql = "SELECT * FROM dle_post WHERE id=`18`"; $result = mysql_query($sql, $db); echo "<br>"; if(!$result) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } ?> Теперь выдает: Код (Text): Соединение создано успешно Возникла ошибка - Unknown column '18' in 'where clause' SELECT * FROM dle_post WHERE id=`18` Не пойму почему же пишет неизвестный столбец... Почему столбец, ведь из строки должен выбирать и столбца по id... В таблице строка с id=`18` - есть, да и менял опять же на разный id....
Mamont, спасибо, - исправил. Код (Text): $sql = "SELECT * FROM dle_post WHERE id='18'"; Но теперь обратно ничего не выводится из БД. Просто пишется: Код (Text): Соединение создано успешно и все и ничего больше не выводится... ((
про mysql_fetch не забыл? PHP: <?php $db = mysql_connect ("localhost", "realm461_pozdrav", "пароль"); mysql_select_db ("realm461_pozdrav", $db); if (!$db) {echo "Не удалось подключится к серверу";} // !!!! else {echo "Соединение создано успешно";} $sql = "SELECT * FROM dle_post WHERE id='18'"; $result = mysql_query($sql, $db); echo "<br>"; if(!$result) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } $row = mysql_fetch_assoc( $result ); print_r( $row ); ?> зы. Для оформления пхп кода используй тег PHP, а не CODE
Все добавил: PHP: <?php $db = mysql_connect ("localhost", "realm461_pozdrav", "1111111"); mysql_select_db ("realm461_pozdrav", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $sql = "SELECT * FROM dle_post WHERE id='18'"; $result = mysql_query($sql, $db); echo "<br>"; if(!$result) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } $row = mysql_fetch_assoc( $result ); print_r( $row ); ?> Но все равно выводится только: Код (Text): Соединение создано успешно ( Что ж за фигня такая?
realmen80 PHP: <?php $Handler = mysql_connect ('localhost', 'realm461_pozdrav', 'password') or die (mysql_error()); mysql_select_db ('realm461_pozdrav') or die (mysql_error()); $Query = mysql_query ('SELECT * FROM `dle_post` WHERE `id` > 0 LIMIT 1') or die (mysql_error()); $Row = mysql_fetch_assoc ($Query); var_dump ($Row);
Gromo - строка с айди = 18 есть, я менял и на другие... Elkaz поставил Ваш код: PHP: 1. <?php 2. $Handler = mysql_connect ('localhost', 'realm461_pozdrav', 'password') or die (mysql_error()); 3. mysql_select_db ('realm461_pozdrav') or die (mysql_error()); 4. 5. $Query = mysql_query ('SELECT * FROM `dle_post` WHERE `id` > 0 LIMIT 1') or die (mysql_error()); 6. $Row = mysql_fetch_assoc ($Query); 7. 8. var_dump ($Row); Вот что отобразилось на главной: Объясните, пожалуйста, синтаксис PHP: WHERE `id` > 0 LIMIT 1 ? Єто что нужно вывести из таблицы все с полей 0 и 1? Меняю цыфры 1 и 0 и пишет - bool(false)...[/b]
realmen80 WHERE `id` > 0 замените на WHERE `id` = 18 LIMIT 1 Нет. Это означает выбрать одну запись (LIMIT 1), где ID > 0
PHP: <?php $db = mysql_connect ("localhost", "realm461_pozdrav", "1111111"); mysql_select_db ("realm461_pozdrav", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $sql = "SELECT * FROM dle_post where id=18"; $result = mysql_query($sql, $db); echo "<br>"; if(!$result) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } $row = mysql_fetch_array( $result ); print_r( $row ); ?> Покажите результат
Функция mysql_fetch_assoc возвращает только ассоциативный массив. Если вам нужны как ассоциативные, так и численные индексы в массиве, обратитесь к функции mysql_fetch_array(). Думаю проблемма у вас именно в этом, странно что до меня не нашли
ckjet, вот что отобразилось на главной: Только это вывелась какая-то новость движка самого... Я естественно такой новости не добавлял. А своей новости ни одной не получается вывести...
ckjet, я ошибся. То не по вашему коду вывело, а по коду: Код (Text): <?php $Handler = mysql_connect ('localhost', 'realm461_pozdrav', 'CVlcEm5G') or die (mysql_error()); mysql_select_db ('realm461_pozdrav') or die (mysql_error()); $Query = mysql_query ('SELECT * FROM `dle_post` WHERE `id` > 0 LIMIT 1') or die (mysql_error()); $Row = mysql_fetch_assoc ($Query); var_dump ($Row); ?> Вот вставил предложенный Вами и вот что получилось: Код (Text): Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'realm461_pozdrav'@'localhost' (using password: YES) in Z:\home\localhost\www\php\index.php on line 13 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in Z:\home\localhost\www\php\index.php on line 14 Соединение создано успешно Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in Z:\home\localhost\www\php\index.php on line 18 Возникла ошибка - Access denied for user 'realm461_pozdrav'@'localhost' (using password: YES) SELECT * FROM dle_post where id=18
<?php $db = mysql_connect ("localhost", "realm461_pozdrav", "1111111"); mysql_select_db ("realm461_pozdrav", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $sql = "SELECT * FROM dle_post where id=18"; $result = mysql_query($sql, $db); echo "<br>"; if(!$result) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } $row = mysql_fetch_array( $result ); echo 'Содержимое массива:<pre>'; print_r( $row ); echo '</pre>'; ?> Покажите результат чтоб увидеть нужно зайти на страницу в которой этот код
На денвере создана страница index.php Код (Text): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Главная страница сайта</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <?php $db = mysql_connect ("localhost", "realm461_pozdrav", "1111111"); mysql_select_db ("realm461_pozdrav", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $sql = "SELECT * FROM dle_post where id=18"; $result = mysql_query($sql, $db); echo "<br>"; if(!$result) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } $row = mysql_fetch_array( $result ); echo 'Содержимое массива:<pre>'; print_r( $row ); echo '</pre>'; ?> </body> </html> Когда в браузере захожу на страницу index.php, то мне отображается только текст: Код (Text): Соединение создано успешно Содержимое массива: Вот и все. И больше ничего не выводится.... А почему - загадка...
PHP: <?php $db = mysql_connect ("localhost", "realm461_pozdrav", "1111111"); mysql_select_db ("realm461_pozdrav", $db); if ($db == 'true') {echo "Не удалось подключится к серверу";} else {echo "Соединение создано успешно";} $sql = "SELECT * FROM dle_post"; $result = mysql_query($sql, $db); echo "<br>"; if(!$result) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } $row = mysql_fetch_array( $result ); echo 'Содержимое массива:<pre>'; print_r( $row ); echo '</pre>'; ?> Покажите результат этого