1

我正在尝试制作一个 php 日历,作为项目的一部分,在这里我正在使用 php 执行一些 SQL:

mysql_select_db("waycov_dtm", $con);

$data="'Placeholder Text'";

$sql="INSERT INTO waycov_dtm.calDates (dateID, day, month, year)
VALUES (" . $dateID . ", " . $day . ", " . $month . ", " . $year . ");
INSERT INTO waycov_dtm.calData (dateID, data, memberID)
VALUES (" . $dateID . ", " . $data . ", 1);";

echo $sql;

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

mysql_close($con);

当它执行时,我得到以下信息(回显的 sql,然后是错误):

INSERT INTO waycov_dtm.calDates (dateID, day, month, year) VALUES (7072012, 7, 07, 2012); INSERT INTO waycov_dtm.calData (dateID, data, memberID) VALUES (7072012, 'Placeholder Text', 1);Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO waycov_dtm.calData (dateID, data, memberID) VALUES (7072012, 'Placeh' at line 3

如果我取出任何一个插入语句,另一个运行,但两者一起导致这个??

4

1 回答 1

4

Use it like this:

$sql="INSERT INTO waycov_dtm.calDates (dateID, day, month, year)
VALUES (" . $dateID . ", " . $day . ", " . $month . ", " . $year . ")";
$sql_second = "INSERT INTO waycov_dtm.calData (dateID, data, memberID)
VALUES (" . $dateID . ", " . $data . ", 1);";

if (!mysql_query($sql,$con) || !mysql_query($sql_second,$con))
{
  die('Error: ' . mysql_error());
}

From the manual:

mysql_query() sends a unique query (multiple queries are not supported)

The use of mysql_query is discouraged. Use MySQLi or PDO.

于 2012-07-13T18:48:43.027 回答