MySQL错误我怎样才能得到的错误从下面我的MySQL声明显示或是否有更好的方式来写下面的与PDO或相似:充分利用声明
代码:
$mysqlFiles = "SELECT campaign_image, optout_image FROM campaigns WHERE id = '$campaign_id'";
while($data = mysql_fetch_assoc($mysqlFiles));
{
$imageNames[] = $data;
}
MySQL错误我怎样才能得到的错误从下面我的MySQL声明显示或是否有更好的方式来写下面的与PDO或相似:充分利用声明
代码:
$mysqlFiles = "SELECT campaign_image, optout_image FROM campaigns WHERE id = '$campaign_id'";
while($data = mysql_fetch_assoc($mysqlFiles));
{
$imageNames[] = $data;
}
你的代码有一点点不正确。
mysql_fetch_assoc
,而不是资源。mysql_*
函数已弃用。您应该使用mysqli_*
函数。一旦您纠正了这些问题,您可以使用mysqli_error
查看错误消息。
你得到了我的支持。你接受这个作为另一个答案吗? – RiggsFolly
使用此(来源:http://php.net/manual/en/function.mysql-error.php):
mysql_error ($mysqlconnection);
首先...在这行代码:
while($data = mysql_fetch_assoc($mysqlFiles));
^end of statement, stops the process.
不管你信不信,被认为是有效的语法(而不会抛出,因为它的误差),但 ...也结束你的发言,将不会处理{ $imageNames[] = $data; }
。
查询是否成功,它仍然会在那里停止。
删除它
while($data = mysql_fetch_assoc($mysqlFiles))
参考上分号:
“如同在C或Perl,PHP要求指令是终止用ea结尾的分号ch声明。一段PHP代码的结束标记自动包含分号;你不需要用分号来终止PHP块的最后一行。块的结束标记将包括紧接着的换行符(如果存在的话)。“
如果你想捕捉到潜在的错误,使用mysql_error()
针对您的查询
别的东西,我注意到的是,你不”查询“与mysql_query()
。
所以你的代码将永远不会导致与什么已经说过沿着成功的查询。从手动
实施例:
$query = sprintf("SELECT firstname, lastname, address, age FROM friends
WHERE firstname='%s' AND lastname='%s'",
mysql_real_escape_string($firstname),
mysql_real_escape_string($lastname));
// Perform Query
$result = mysql_query($query);
实施例从http://php.net/manual/en/function.mysql-fetch-assoc.php
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
如果下面分别编码为这样并且在用分号,就不会处理内部{...}
任何东西:
while ($row = mysql_fetch_assoc($result)); {
// ^semi-colon terminator similar to yours
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
我希望这会为某人服务。我想我解释得很好,除非我没有把握这个问题。 –
http://php.net/manual/en/function.mysql-error.php?我不太在意这里。你是否故意造成错误? –
您需要在提取数据之前执行查询。查看['mysql_query()'](http://php.net/manual/en/function.mysql-query.php)的例子。另外,是的,我强烈建议使用MySQLi或PDO。 – showdev
你究竟想要什么。我不是很清楚。错误可能写入您的php.ini定义的地方 – Rik