Kez PHP iki mysql sorguları yürütmek olamaz

3 Cevap php

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?

3 Cevap

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.

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.