-2

我试图让这个语句起作用,但我猜它一定有一个错误,因为它根本不会产生任何结果或错误。有更多经验和新鲜眼光的人可以看一下我是否有问题。代码如下:

$conn = new PDO('mysql:host=localhost;dbname=timecard', 'username', 'password');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare('UPDATE `timeRecords` SET `jobDescription`= :jobDescription, `equipType`= :equipType, `unitNumber`= :unitNumber, `unitHours`= :unitHours) 
                            WHERE `employeeID`= :employeeID AND `date`= :dateToday');

    $stmt->execute(array(':employeeID' => $_SESSION['employeeID'], ':dateToday' => $dateToday, ':jobDescription' => $jobDescription,
                         ':equipType' => $equipType, ':unitNumber' => $unitNumber, ':unitHours' => $unitHours));
4

2 回答 2

1

)在原始代码中发现错误我在找到之前留下了一个错误,WHERE这要归功于使用以下try/catch block更新和工作代码的建议:

try{
$conn = new PDO('mysql:host=localhost;dbname=timecard', 'username', 'password');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('UPDATE `timeRecords` SET `jobDescription`= :jobDescription, `equipType`= :equipType, `unitNumber`= :unitNumber, `unitHours`= :unitHours 
                        WHERE `employeeID`= :employeeID AND `date`= :dateToday');

$stmt->execute(array(':employeeID' => $_SESSION['employeeID'], ':dateToday' => $dateToday, ':jobDescription' => $jobDescription,
                     ':equipType' => $equipType, ':unitNumber' => $unitNumber, ':unitHours' => $unitHours));
} catch(PDOException $e){
    echo'ERROR: ' . $e->getMessage();
}
于 2013-01-13T00:24:48.527 回答
1

很高兴您找到了解决方案try

我是否还可以补充一点,在编码您的网站时添加标准错误报告非常有帮助。在编写脚本时,将其添加到顶部:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
?>

并在使页面生效之前将其删除。这使我免于数百个错误。

您甚至可以更进一步,为您的 IP 地址打开错误报告(假设您的 IP 是静态的)。保留 IP 允许/限制通常是一种不好的做法,因此您应该在完成编辑后将其删除。

//Change to match your IP address
if($_SERVER['REMOTE_ADDR']=="123.456.78.9"){
error_reporting(E_ALL);
ini_set('display_errors', 'On');
}
于 2013-01-13T00:49:14.187 回答