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

次のように使用します。

$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());
}

マニュアルから:

mysql_query()は一意のクエリを送信します(複数のクエリはサポートされていません)

の使用mysql_queryはお勧めしません。MySQLiまたはPDOを使用します。

于 2012-07-13T18:48:43.027 に答える