mysql_query语法首选项和错误原因

时间:2013-07-02 15:48:24

标签: php mysql

$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);,是否需要遵循一些标准或用户偏好?或者他们的功能不同。

并且kjndly清除了我,这可能是mysql_query返回false或无法执行的原因?而像mysql_num_rows,mysql_fetch_array这样的函数是否因服务器或数据库问题而无法执行?

请告诉我,我们将不胜感激。感谢

1 个答案:

答案 0 :(得分: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_ *函数,因为它们已被弃用。