PHP MySQL 查询不工作

标签 php mysql

我在处理这个长 SQL 查询时遇到了问题。如果我将 $result= mysql_query( 更改为 echo 语句并将结果字符串复制到 MySQL,它会将数据添加到数据库中就好了。只有当我使用 PHP 时,它才会这样做失败。

代码:

$con = mysql_connect("-","-","-");
        if (!$con)
          {
          die('Could not connect: ' . mysql_error());
          }
        else {
            // connected to database successfully
        }
        mysql_select_db("casemanagers", $con);

        $result= mysql_query("INSERT INTO `criminal` (`JudgeID`, `Month`, `Year`, `PendingCapDefs`, `PendingCapCases`, `PendingNonCapDefs`, `PendingNonCapCases`, `AsgNewCapDefs`, `AsgNewCapCases`, `AsgNewNonCapDefs`, `AsgNewNonCapCases`, `AsgTRCapDefs`, `AsgTRCapCases`, `AsgTRNonCapDefs`, `AsgTRNonCapCases`, `AsgRCCapDefs`, `AsgRCCapCases`, `AsgRCNonCapDefs`, `AsgRCNonCapCases`, 
        `DispGPCapDefs`, `DispGPCapCases`, `DispGPNonCapDefs`, `DispGPNonCapCases`, `DispDDCapDefs`, `DispDDCapCases`, `DispDDNonCapDefs`, `DispDDNonCapCases`, `DispNPCapDefs`, `DispNPCapCases`, `DispNPNonCapDefs`, `DispNPNonCapCases`, `DispODCapDefs`, `DispODCapCases`, `DispODNonCapDefs`, `DispODNonCapCases`, `DispBTACapDefs`, `DispBTACapCases`, `DispBTANonCapDefs`, `DispBTANonCapCases`, `DispBTCCapDefs`, `DispBTCCapCases`, `DispBTCNonCapDefs`, `DispBTCNonCapCases`, `DispJTACapDefs`, `DispJTACapCases`, `DispJTANonCapDefs`, `DispJTANonCapCases`, `DispJTCCapDefs`, `DispJTCCapCases`, `DispJTCNonCapDefs`, `DispJTCNonCapCases`, `DispADDCapDefs`, `DispADDCapCases`, `DispADDNonCapDefs`, `DispADDNonCapCases`, `DispSCDCapDefs`, `DispSCDCapCases`, `DispSCDNonCapDefs`, `DispSCDNonCapCases`, `DispCTOCapDefs`, `DispCTOCapCases`, `DispCTONonCapDefs`, `DispCTONonCapCases`, `OldCapDefs`, `OldCapCases`, `OldNonCapDefs`, `OldNonCapCases`) VALUES ('$judgeID',' $month',' $year',' $PendingCapDefs','$PendingCapCases','$PendingNonCapDefs','$PendingNonCapCases','$AsgNewCapDefs','$AsgNewCapCases','$AsgNewNonCapDefs','$AsgNewNonCapCases','$AsgTRCapDefs','$AsgTRCapCases','$AsgTRNonCapDefs','$AsgTRNonCapCases',' $AsgRCCapDefs','$AsgRCCapCases','$AsgRCNonCapDefs','   $AsgRCNonCapCases','$DispGPCapDefs','$DispGPCapCases','$DispGPNonCapDefs','$DispGPNonCapCases','$DispDDCapDefs','$DispDDCapCases','$DispDDNonCapDefs','$DispDDNonCapCases',' $DispNPCapDefs',' $DispNPCapCases',' $DispNPNonCapDefs','$DispNPNonCapCases','$DispODCapDefs',' $DispODCapCases','$DispODNonCapDefs','$DispODNonCapCases','$DispBTACapDefs','$DispBTACapCases','$DispBTANonCapDefs','$DispBTANonCapCases','$DispBTCCapDefs','$DispBTCCapCases','$DispBTCNonCapDefs','$DispBTCNonCapCases','$DispJTACapDefs','$DispJTACapCases','$DispJTANonCapDefs','$DispJTANonCapCases','$DispJTCCapDefs','$DispJTCCapCases','$DispJTCNonCapDefs','$DispJTCNonCapCases','$DispADDCapDefs','$DispADDCapCases','$DispADDNonCapDefs','$DispADDNonCapCases','$DispSCDCapDefs','$DispSCDCapCases','$DispSCDNonCapDefs','$DispSCDNonCapCases','$DispCTOCapDefs','$DispCTOCapCases','$DispCTONonCapDefs','$DispCTONonCapCases','$OldCapDefs','$OldCapCases','$OldNonCapDefs','$OldNonCapCases');");


        if ($result==1){
            $statusCaption = 'New Civil Report';
            echo 'Report Successfully Saved!<br/><br/><a href="login.php"><-- Back to User Menu</a>';
        }   
        else {
            $statusCaption = 'Error';
            echo 'There was a problem with one or more of your entries. Please try again.<br/><br/><a href="newcivilreport.php"><--Back to Civil Report</a>';

        } 

最佳答案

mysql_query() 成功时返回语句句柄,失败/错误时返回 bool 值 false。它永远不会返回整数“1”。

if ($result !== false) {
   ... success ...
} else {
   ... failure ...
}

请注意,“失败”仅是由于查询中的语法错误或违反数据库中的约束或客户端-服务器通信链路中的故障。不返回任何行的选择查询不是失败的。它只是一个结果集,恰好不包含任何行。

关于PHP MySQL 查询不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6986949/

相关文章:

php - Laravel Eloquent 查找日期在 JSON 列范围内的所有记录

mysql - 数组 - StripTags

java - 将好友列表实现到数据库中的最佳方法? MySQL

php - 从两个表中选择第二个表的 LIMIT 1

php - 为每个语句设置无序列表的样式

php - Google People API(如何使用 API key 进行身份验证)

php - 如何使服务器 header 的输出更具可读性?

php - 在 PHP 中如何最好地与 0 进行比较?

mysql - 航类时刻表的标准化/ERD

javascript - 从 tinyMCE 向图像添加类