sprintf () mysql_query Karşı ()

0 Cevap php

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.

0 Cevap