由于一些奇怪和奇怪的原因,wamp没有显示数据库错误,我似乎不知道为什么,我知道它显示错误,因为我一直在使用wamp并且它之前显示错误,但当我安装它时最近新机器开始工作,它没有显示任何数据库错误,
例如,我插入数据库表并且浏览器正在执行php脚本和mysql查询但没有插入任何内容,经过2个艰苦的工作时间后,我发现其中一个列名称错了,我记得一个事实mysql显示一个数据库错误,告诉我该列不存在于表中,之后我理解了错误并更正了它,但现在它没有显示任何一个。
代码是:
$query = "INSERT INTO campaign (campaignName, campaignPlatform, campaignStatus,
campaignStart, campaignExpiry, campaignText)
VALUES ('{$campaignName}', '{$campaignPlatform}', '{$campaignStatus}',
'{$campaignStartDate}', '{$campaignExpiryDate}',
'{$campaignText}') ";
$result = mysqli_query($con, $query);
这里,campaignStart实际上是campaignStarting,脚本被处理并且页面是空白的,但是没有错误,没有mysql错误而且数据库上没有插入,当发生这种情况之前,mysql总是出现错误,说明“此列不存在“,
有谁能告诉我为什么会这样,以及如何纠正它?
答案 0 :(得分:1)
从mysqli_query($con, $query);
返回的所有内容都是
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries
mysqli_query() will return a result object.
For other successful queries mysqli_query() will return TRUE.
因此,如果您想了解发生的任何错误,您必须添加自己的错误处理逻辑。
我假设您之前使用的任何系统都进行了一些处理,您只是不想看。
$query = "INSERT INTO campaign (campaignName, campaignPlatform, campaignStatus,
campaignStart, campaignExpiry, campaignText)
VALUES ('{$campaignName}', '{$campaignPlatform}', '{$campaignStatus}',
'{$campaignStartDate}', '{$campaignExpiryDate}',
'{$campaignText}') ";
$result = mysqli_query($con, $query);
if ( ! $result ) {
printf("Errormessage: %s - %s\n", mysqli_err($con) , mysqli_error($con) );
exit;
}
// proceed with normal code
当然我会将这一点形式化,并将所有错误处理逻辑放在一个函数或其他东西中,这样你只需要调用一个标准函数来处理任何数据库错误。
答案 1 :(得分:0)
在我的情况下,它修正了以前的脚本后工作。
mysqli_err($ con)> mysqli_error($ CON)