Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php mysql查询存在问题_Php_Mysql - Fatal编程技术网

php mysql查询存在问题

php mysql查询存在问题,php,mysql,Php,Mysql,我的表格预订由以下字段组成:小时、分钟、天、月、名称、表格、RNNumber 当我执行以下查询时: $query = "select * from reservation"; $result = $db->query($query); $row = $result->fetch_assoc(); 它工作得很好 但是,当我将查询更改为 $query = "select * from reservation where table like '%1%'"; 我在apache日志中得

我的表格预订由以下字段组成:小时、分钟、天、月、名称、表格、RNNumber

当我执行以下查询时:

$query = "select * from reservation";

$result = $db->query($query);
$row = $result->fetch_assoc();
它工作得很好

但是,当我将查询更改为

$query = "select * from reservation where table like '%1%'";
我在apache日志中得到一个空白结果和以下错误:

2011年8月8日星期一20:17:19][error][client::1]PHP致命错误:在第43行的/srv/http/reservation.PHP中对非对象调用成员函数fetch_assoc(),参考:

如果我将其更改为以下内容:

  $query = "select * from reservation where 'table'=1";
结果我得到了0。(表为INT)

第二个问题是,我是否使用了最新的语法?我见过大多数人使用mysql\u query()

由于SQL错误,
$result
可能为false

我假设您不能在int字段上执行like(从未尝试过),这应该让您知道MySQL拒绝您的语句的原因

由于SQL错误,
$result
可能为false


我假设您不能对int字段执行like操作(从未尝试过),这应该让您知道MySQL拒绝您的语句的原因。

table
是一个保留字。最好不要使用它,但查询的正确语法是使用反引号(`):


是保留字。最好不要使用它,但查询的正确语法是使用反引号(`):


是MySQL保留字。若要在查询中将其用作列名,则需要将其放在反勾号中(而不是像您这样使用单引号):


是MySQL保留字。若要在查询中将其用作列名,则需要将其放在反勾号中(而不是像您这样使用单引号):


要回答第二个问题,您的代码比其他使用
mysql\u query
的人更新得多。您似乎正在使用mysqli,这是一件好事
mysql\u query等已过时多年,不推荐用于任何新项目。

回答第二个问题,您的代码比其他使用
mysql\u query的人更新得多。您似乎正在使用mysqli,这是一件好事
mysql\u query
等已过时多年,不推荐用于任何新项目。

是的,这可能是因为我是php/mysql新手,并查阅了一本最新的书籍来学习。谢谢你的反馈!是的,这可能是因为我对php/mysql还不熟悉,并查阅了一本最新的书来学习。谢谢你的反馈!
do a $db->query($query) or die(mysql_error());
 $query = "select * from reservation where `table` = 1";
$query = "select * from reservation where `table`=1";