Sorun sprintf (kullanarak hatasız çalıştırmak için benim kod biçimlendirme olması) Ben kodu çalıştırdığınızda bu hatayı alıyorum: hat 16 üzerinde / bir konumda sözdizimi hatası, beklenmedik T_VARIABLE: hatası Ayrıştırma
$query = sprintf('UPDATE `%s` SET `stock` = :amount WHERE `itemname` = '$q'', $tablename);
Yukarıda benim kod satırı 16'dır. Ben sözdizimi ile ilgili olduğunu varsayarak yaşıyorum.
Ben şimdi aşağıdaki hatayı alıyorum:
/ Home/content/63/6563663/html/inventory/pg.php içinde: 19 Stack trace: # Fatal error: iletisinde ': sözdizimi hatası veya erişim ihlali 1065 Sorgu boştu sqlstate [42000]' ile yakalanmamış istisna 'PDOException' 0 / home/content/63/6563663/html/inventory/pg.php (19): PDOStatement-> execute () # 1 {main} in / home/content/63/6563663/html/inventory/pg.php atılmış 19 hattı üzerinde
Bu benim tüm kod bloğu:
<?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: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($UpdateQuery);
$stmt->bindParam('amount', $amount);
$stmt->execute();
}
}
?>
Teşekkür ederim, benim hata PDO yürütme değil, sorgu kendisi ile uğraşıyor gibi görünüyor. Herkes bu konuda herhangi bir fikir varsa o harika olurdu. Alan, tırnak için yöntem kullanılır ve ayrıca) (mysql_real_escape_string aracılığıyla sorguyu çalıştırıyorum.