0
次のクエリ文字列は、phpMyAdmin SQLパネルからは動作しますが、PHPスクリプトからは機能しません。 私はmysqli_affected_rows()でチェックしました...それは0を返しますが、SQLパネルからは特定の1行に影響します。 PHPスクリプトから使用しているMySQLデータベースのユーザアカウントには、UPDATE権限が設定されています。PHPからMySQL UPDATEクエリが機能しない
UPDATE forecast SET forecastAmount = 1000.00, updBy='Admin User', updDt=now() WHERE companyId=2 AND forecastDate='2018-03-01';
PHPスクリプト:
$forecastDate = date('Y-m-d', mktime(0, 0, 0, $_POST['forecastMonth'], ($i+1), $_POST['forecastYear']))."<br>";
$queryStringForecastUpdate = "UPDATE $tbl_forecast
SET forecastAmount = ".$_POST['day'][$i].
", updBy='".$_SESSION['ssnName'].
"', updDt=now()".
" WHERE companyId=".$_POST['forecastCompany'].
" AND forecastDate='$forecastDate';";
if (mysqli_query($dbConn, $queryStringForecastUpdate)) {
echo mysqli_affected_rows($dbConn);
$_SESSION['sccMsg'] = "Updated successfully";
} else {
$_SESSION['errMsg'] = "Error: " . $queryStringForecastUpdate . "<br>" . mysqli_error($dbConn);
}
誰PLSのかもしれないが、ここではうまくいかないものを私に伝えることができますか?
の最後に
<br>
を追加しましたか? '$ queryStringForecastUpdate'の出力は何ですか? –準備済みのバインドされたクエリについては、 – Strawberry
@SebastianBrosch $ tbl_forecast = "forecast"をスクリプトの前半で定義しています。 $ queryStringForecastUpdateの出力はSQLステートメントです: "UPDATE予測SET ForecastAmount = 1000.00、updBy = '管理ユーザー'、updDt = now()where companyId = 2 AND forecastDate = '2018-03-01';"上記のように。 –