PDOキャッチされない例外
-
26-09-2019 - |
質問
:以下のコードを実行するときに
このエラーが表示されます。
Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[42000]: Syntax error or access violation: 1065 Query was empty'
in /home/content/63/6563663/html/inventory/pg.php:20
Stack trace:
#0 /home/content/63/6563663/html/inventory/pg.php(20): PDOStatement->execute()
#1 {main} thrown in /home/content/63/6563663/html/inventory/pg.php on line 20
<?php
$u=$_GET["u"];
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form2")) {
$amount = isset($_POST['amount']) ? $_POST['amount'] : null;
if (null != $amount) {
$user = 'username';
$pass = 'password';
$pdo = new PDO('mysql:host=localhost', $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
session_start();
$tablename = $_SESSION['MM_Username'];
$query = sprintf("UPDATE `%s` SET `stock` = :amount WHERE `itemname` = :u ", $tablename);
$stmt = $pdo->prepare($query);
$stmt->bindParam('amount', $amount);
$stmt->execute();
}
}
?>
作品が、今、このエラーと。私はPDOに新しいですと、私は謝ります。
Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens'
in /home/content/63/6563663/html/inventory/pg.php:20
Stack trace:
#0 /home/content/63/6563663/html/inventory/pg.php(20): PDOStatement->execute()
#1 {main} thrown in /home/content/63/6563663/html/inventory/pg.php on line 20
正しい解決策はありません
他のヒント
あなたは、おそらくtry
ingに慣れる必要があり、catch
ing 例外はします。
まあ、エラーメッセージは非常に明確である:
1065クエリは、空のこのました
あなたは存在しない変数$UpdateQuery
を、使用しています。あなたはおそらく言うことを意味します。
$stmt = $pdo->prepare($query);
所属していません StackOverflow