我有一个表,表中包含以下类型的结构。url数据看起来没问题。间隔值(B1 B2 B3)设置为整数类型的1。
DateToBook | B1 | B2 | B3 |
------------------------------------
8March2013 | 1 | 1 | 1 |我无法插入这些值。上面的结构的贝数是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);
?>语法有什么问题吗?
发布于 2013-03-08 17:24:38
您的问题是$b只存在于下面的if语句中。如果$b始终为1,为什么不直接在查询中编写1而不是$b
或将其更改为以下内容:
$b = '1'; //Place it here
if(isset($_GET["tabName"])){
$tableName = $_GET["tabName"];
$dB = $_GET["db"];
$bayCount = $_GET["bayNo"];
$date = $_GET["d"];
$b = '1'; //You can get rid of this now
}此外,我完全同意上面的意见,你应该使用MySQLI或PDO。
发布于 2013-03-08 17:28:42
您可以使用die("INSERT INTO $tableName (DateToBook) VALUES ($date)")检查您是否获得了正确的值。
https://stackoverflow.com/questions/15290480
复制相似问题