Ben bir noktalı virgül ile sınırlayan bir seferde iki MySQL sorguları yürütmek için çalışırsanız, PHP MyAdmin düzgün çalışır, ancak sorgu PHP hiç çalışmıyor mysql_query().
Herkes neden biliyor mu?
mysql_query sadece bir defada bir sorgu yapmak için izin verir. Bu, SQL enjeksiyonu önlemek yardımcı olur.
Dokümanlar:
mysql_query()sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier.
Ne yapmaya çalışıyorsun bir işlemde çalıştırmak iki sorgular, PHP ve MySQL ile işlem kontrolü this article check out emin olun eğer.
Bu / yardım açıklayabilir: http://joseph.randomnetworks.com/archives/2005/10/11/guide-to-php-security/
Güvenlik nedenlerinden dolayı, yalnızca bir seferde bir sorgu çalıştırabilirsiniz. Eğer olsa sorguları bir dizi aracılığıyla döngü olabilir ve her biri bağımsız çalıştırın.
$queries[] = "INSERT INTO users (name) VALUES ('jonathan')";
$queries[] = "UPDATE users SET name = 'Jonathan' WHERE name = 'jonathan'";
foreach ($queries as $query) {
mysql_query($query);
}
Hatta bir diziye iki sorguları içeren tek bir dize patlayabilir:
$sql = "INSERT INTO users (name) values ('jonathan');
INSERT INTO users (name) values ('sampson')";
$queries = explode(";", $sql);
$queries yapabiliriz sonra döngüsü sorgular bir dizi olacak nerede.