2017-12-19 21 views
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のかもしれないが、ここではうまくいかないものを私に伝えることができますか?

+0

の最後に<br>を追加しましたか? '$ queryStringForecastUpdate'の出力は何ですか? –

+2

準備済みのバインドされたクエリについては、 – Strawberry

+0

@SebastianBrosch $ tbl_forecast = "forecast"をスクリプトの前半で定義しています。 $ queryStringForecastUpdateの出力はSQLステートメントです: "UPDATE予測SET ForecastAmount = 1000.00、updBy = '管理ユーザー'、updDt = now()where companyId = 2 AND forecastDate = '2018-03-01';"上記のように。 –

答えて

0

は問題を抱えて:私は誤ってラインで$forecastDate割り当て `$のtbl_forecast`が定義されている1

関連する問題