0
$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由于服务器或数据库问题,它们是否有时也无法执行?

请让我知道,我们将不胜感激。谢谢

4

1 回答 1

0

最好将它们分开,因为它更容易调试。例如:

$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_* 函数,因为它们已被弃用。

于 2013-07-02T15:58:25.420 回答