WAMP没有显示mySQL错误

时间:2014-03-06 04:47:30

标签: php mysql debugging error-handling wamp

由于一些奇怪和奇怪的原因,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总是出现错误,说明“此列不存在“,

有谁能告诉我为什么会这样,以及如何纠正它?

2 个答案:

答案 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)