2013-12-05 7 views
0

Привет, просто интересно, где я, кажется, ошибаюсь? Это выглядит нормально для меня, я довольно новичок в php, поэтому я использую учебники.отображение базы данных mysql в php

Я получаю эту ошибку:

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in G:\xampp\htdocs\xampp\Assignment\reports.php on line 60 

это небольшой проект колледжа, так что я знаю об этом, будучи слабым против инъекции MySQL.

следует вставлять имена полей из моего стола в любом месте?

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title> Exercise 3</title> 
<meta charset="utf-8"> 
</head> 
<body> 
<?php 
    $name = “Frank”; 
    $age = “28”; 
    var_dump($name); 
    echo "<br>"; 
    print_r($name); 
    echo "<br>"; 
    var_dump($age); 
    echo "<br>"; 
?> 
</body> 
</html> 
+0

Вы используете кучу устаревших функций, гарантируя, что вы учите точно неправильные вещи. Прочитайте большое красное предупреждение в верхней части документации: http://www.php.net/mysql_query. Материал, который вы сейчас изучаете, активно удаляется с языка. Бросьте этот материал и изучите PDO. – meagar

+0

использовать mysql_error() для проверки таких ошибок, как mysql_connect («localhost», «admin», «admin») или die (mysql_error()); // подключение к базе данных mysql_select_db («employee») или die («не удалось выполнить выбор «); $ order = "SELECT * FROM employees ORDER BY name"; $ userdata = mysql_query ($ order) или die («запрос не выполнен»); –

+0

[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. Если вы выберете PDO, [здесь хороший учебник] (http://j.mp/PoWehJ). – h2ooooooo

ответ

1

Проверьте свои возвращаемые значения.

mysql_query:

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

$userdata = mysql_query($order); вернулся булево false, что указывает на возникновение ошибки. Затем вы вызывали mysql_fetch_row и передавали, что boolean false в, следовательно, ваша ошибка.

+0

Я знаю, что произошла ошибка, но им интересно, могут ли люди с большими знаниями php/mysql помочь девушке здесь? – proJ

+0

лучшее объяснение +1 –

+0

Вы пропустили точку. Ошибка, которую вы видите, заключается в том, что вы не смогли обработать более раннюю ошибку и передали плохую ценность в функцию. – meagar

Смежные вопросы