J'ai une table de la structure du type suivant. Les données de l'URL semblent être bien. Les valeurs de baie (B1 B2 B3) sont définies sur 1 de type entier.Ajout de données à MySQL via PHP
DateToBook | B1 | B2 | B3 |
------------------------------------
8March2013 | 1 | 1 | 1 |
Je n'ai pas pu insérer les valeurs. Le nombre de base pour la structure ci-dessus est 3.
<?php
$DB_hostname = "localhost";
$DB_Name = "root";
$DB_pass = "pass123";
if(isset($_GET["tabName"])){
$tableName = $_GET["tabName"];
$dB = $_GET["db"];
$bayCount = $_GET["bayNo"];
$date = $_GET["d"];
$b = '1';
}
$con = mysql_connect($DB_Hostname,$DB_Name,$DB_pass) or die(mysql_error());
mysql_select_db($db, $con);
$_bayColumn = array();
for ($i = 1; $i <= $bayCount; $i++) {
$_bayColumn[] = "B$i";
}
echo $_bayColumn[0];
mysql_query("INSERT INTO $tableName (DateToBook) VALUES ($date)");
for ($j =0; $j < $bayCount; $j++) {
mysql_query("UPDATE $tableName SET $_bayColumn[$j] = '$b' WHERE DateToBook = '$date'");
}
mysql_close($con);
?>
Y a-t-il un problème avec la syntaxe?
Vous utilisez [une ** API de base de données obsolète **] (http://stackoverflow.com/q/12859942/19068) et vous devez utiliser un [remplacement moderne] (http://php.net/manual/ fr/mysqlinfo.api.choosing.php). Vous êtes également vulnérable aux [attaques par injection SQL] (http://bobby-tables.com/) ** qu'une API moderne rendrait plus facile à [défendre] (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php). – Quentin
http://stackoverflow.com/tags/pdo/info –
Je pense que vous devez remplacer cette ligne' pour ($ j = 0; $ j <= $ bayCount; $ j ++) {' –