$query = "SELECT * FROM `table`";
$results = mysql_query($query, $connection);
if(!result) echo 'error';
(or)
// assume connection to database is established in the beginning itself
if($result = mysql_query("SELECT * FROM `table`")) // do something
else echo 'error';
我猜两者确实执行相同的操作。如果错了请纠正我。问题是为什么人们喜欢这种语法 mysql_query($query, $connection);
,是遵循某种标准还是用户偏好?或者它们的功能是否有所不同。
并且还要请我澄清一下, mysql_query
的原因可能是什么?返回 false 或者执行失败?以及类似 mysql_num_rows,mysql_fetch_array
的功能由于服务器或数据库问题,它们有时也会无法执行吗?
请告诉我,我将不胜感激。谢谢
最佳答案
最好将它们分开,因为这样更容易调试。例如:
$query = "SELECT * FROM `table`";
$results = mysql_query($query, $connection);
if(!result) echo "error with query $query"; // You can print the query for easy debugging
或允许简单的调试:
$query = "SELECT * FROM `table`";
if($debug) echo $query;
如果您已经检查了结果(如上面的代码所示),则 mysql_fetch_* 不会失败。如果执行查询时出错,则该行的所有代码都将失败。我们在这里看到太多代码在尝试获取结果之前从不检查错误代码并正确处理错误。
希望这有帮助。正如评论中所指出的。最好不要使用 mysql_* 函数,因为它们已被弃用。
关于php - mysql_query 语法首选项和错误原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430037/