Sorgu Çalışmıyor

1 Cevap php

Aşağıdaki basit sorgu çalışmıyor. Herhangi bir fikir neden? Ben üç değişken echo, doğru değerler döndü, ben değişkenleri var biliyorum.

Teşekkür peşin,

John

$comment = $_POST['comment'];
$uid = $_POST['uid'];
$subid = $_POST['submissionid'];


echo $comment;
echo $uid;
echo $subid;

mysql_connect("mysqlv12", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());


$query = sprintf("INSERT INTO comment VALUES (NULL, '%s', '%s', '%s', NULL, NULL)", $uid, $subid, $comment);

mysql_query($query);

1 Cevap

Sorgu yüzeyde ince görünüyor. Eğer takıyor değerler nelerdir? Bunlardan herhangi onlara tek bir teklif var mı? Ben yorum alanı olduğu için muhtemel suçlu olduğunu tahmin ediyorum. Şimdi haliyle kod SQL enjeksiyon için tamamen savunmasızdır. Aşağıdaki gibi bir güvenlik yürütmem için, tüm değişken atamaları değiştirmeniz gerekir:

$comment = $_POST['comment'];

olur

$comment = mysql_real_escape_string($_POST['comment']);

Bu aynı zamanda tesadüfen sorgu başarısız olmasına neden olabilecek herhangi bir tek tırnak ilgilenir. Sorgu başarılı ise de, kontrol etmek gerekiyor:

mysql_query($query) or die (mysql_error());

Orada herhangi bir sorun vardı (vb bağlantısı başarısız sql sözdizimi hatası, veritabanı sunucusu öldü, ..) varsa hemen size hangi