通过PHP向MySQL添加数据
我有一个以下类型的结构表。url数据似乎很好。间隔值(B1 B2 B3)设置为整数类型的1通过PHP向MySQL添加数据,php,mysql,insertion-sort,Php,Mysql,Insertion Sort,我有一个以下类型的结构表。url数据似乎很好。间隔值(B1 B2 B3)设置为整数类型的1 DateToBook | B1 | B2 | B3 | ------------------------------------ 8March2013 | 1 | 1 | 1 | 我无法插入值。上述结构的间隔数为3 <?php $DB_hostname = "localhost"; $DB_Name = "root"; $
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);
?>
您的问题是$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您的问题是$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您可以使用die(“插入$tableName(DateToBook)值($date)”)
来检查您是否得到了正确的值。您可以使用die(“插入$tableName(DateToBook)值($date)”)
检查您是否获得了正确的值。您正在使用并且应该使用。你也很容易受到这个问题的影响,因为一个现代的API会让你更容易从中受益。我认为你必须将这一行替换为` for($j=0;$j不能等于baycount,因为我正在循环到$\u bayColumn[]的索引中arrayYou正在使用并且应该使用。您还容易受到现代API会使您更容易使用的影响。我认为您必须为($j=0;$j不能等于baycount,因为我正在循环到$\u bayColumn[]arraybaycount的索引中。arraybaycount的类型为integer。“B1 INT NOT NULL默认值1”是否与此有关?是的,是真的!即使没有for循环,我也无法插入日期。DateToBook是主键,类型为Varchar(11)mysql\u查询(“插入$tableName(DateToBook)值($date)”;
生成了什么查询?(var\u dump(“插入$tableName(DateToBook)值($date)”);
)当我在Php MyAdmin sql查询页面上尝试时,查询似乎可以工作。是的,但在phpMyAdmin中,Php不会生成您的查询。请尝试将您的所有值放在“引号”中,表名放在选项卡`key`
上方->实际上,在PDO或MySQLibaycount中重写它是整数类型。“B1 INT not NULL默认值1”是否与此有关?是的,是真的!即使没有for循环,我也无法插入日期。DateToBook是主键,类型为Varchar(11)mysql\u查询(“插入$tableName(DateToBook)值($date)”;
生成了什么查询?(var\u dump(“插入$tableName(DateToBook)值($date)”);
)当我在Php MyAdmin sql查询页面上尝试时,查询似乎起作用。是的,但在phpMyAdmin中,Php不会生成您的查询。请尝试将您的所有值放在“引号”中,并将表名放在选项卡上方的表名中