使用mysqli_query()时mysql_error()不起作用

时间:2013-03-06 05:58:05

标签: php mysqli

使用mysql_error()函数没有显示错误。 msqli_query()工作正常但是当我在它旁边添加mysql_error时,即使你的查询无效且连接错误,我也不会在网页中收到任何内容。

example. mysqli_query($link, $query) or die(mysql_error()); <--- Nothing comes up

链接脚本:

<?php

#SET DATABASE CREDENTIALS
$mysql_host     = 'localhost';
$mysql_username = 'root';
$mysql_password = 'root';
$mysql_db   = 'attendance';
$mysql_error    = 'Error: connection';

//TEST CONNECTION
$link = mysqli_connect( $mysql_host, $mysql_username, $mysql_password, $mysql_db) or die($mysql_error);

if(mysqli_connect_errno())
{

printf("Connection Failed: %s\n", mysqli_connect_error());
exit();

}
?>

查询脚本:

<?php

require('conn.php'); <--- **No Problem**

$query = "SELsECT * FROM `$TBL` WHERE `textFromDate` >= '".mysql_real_escape_string($date1)."' AND `textToDate` <= '".mysql_real_escape_string($date2)."' AND `Scheme`='Paid'";

$resultwholeday = mysqli_query($link, $wholeday) or die(mysql_error()); <--- **might have problem**


?>

2 个答案:

答案 0 :(得分:9)

使用mysqli_error()http://php.net/manual/en/mysqli.error.php

据我所知(我可能错了),每个mysql_ *函数都有一个相对的mysqli_ *函数。它们不能替代它们。

编辑(发表评论):

根据PHP.net的mysqli_error()文档,它需要传递一个参数:

string mysqli_error ( mysqli $link )

您传递的此mysqli $链接将是包含数据库连接信息的变量。因此,您创建一个mysqli连接并将其保存到$ link。然后运行一些查询。 mysqli_error($link)会在$ link(或mysqli连接)上发现 last 错误。

答案 1 :(得分:2)

当您调用MySQLi API时,您希望使用mysqli_error,而不是mysql_error。与mysqli_real_escape_string相同。