好吧,所以我試圖在行內插入動態數據。這很可能不是最好的辦法,但在將我的頭撞在牆上幾個小時後,我仍然不明白爲什麼$insert
字符串不會被mysql_query
查詢。即使當我echo
它,並複製迴應的查詢它的工作原理,但查詢變量不。不能在MySQL查詢中插入字符串變量
$insert = '"INSERT INTO '.$_SESSION['tabsel'].' (';
echo "<form method='post' action=''>";
while($row = mysql_fetch_array($result))
{
echo "Enter ".$row[0]." <input type='text' name='data[]'>";
echo "<br>";
$insert .= $row[0].",";
$_SESSION['insert'] = $insert;
}
echo "<input type='submit' value='Add'>";
echo "</form>";
if(isset($_POST['data']))
{
$insert = $_SESSION['insert'];
$strlength = strlen($insert);
$insert = substr($insert,0,($strlength-1));
$insert .= " VALUES (";
foreach($_POST['data'] as $value)
{
$insert .= "'$value',";
$_SESSION['insert'] = $insert;
}
}
$insert = $_SESSION['insert'];
$strlength = strlen($insert);
$insert = substr($insert,0,($strlength-1));
$insert .= ')"';
$_SESSION['insert'] = $insert;
$insert = $_SESSION['insert'];
echo $insert."<br>";
$seldb = mysql_select_db($_SESSION['sel']);
if($seldb && (!empty($_POST['data'])) && (isset($_SESSION['sel'])) && (isset($_SESSION['tabsel'])))
{
$insert = $_SESSION['insert'];
echo $insert;
$query = mysql_query($insert, $con);
if($query)
{
echo "Record succesfully added!";
}
else
{
echo mysql_error();
}
}
錯誤給出:
你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊正確的語法在1號線
大約還張貼回顯的字符串是什麼?你的代碼中沒有'mysql_query'。 – Alexander 2012-04-29 10:31:38
「INSERT INTO druga(id,podaci,d,ra)VALUES('d','d','d','d')」查詢是下一行:) P.S.錯誤是您的SQL語法有錯誤; ('d','d','d','d')「 '在第1行 – 2012-04-29 10:33:31
**不要將未經過濾的用戶輸入傳遞給SQL **。 'mysql_'函數已被棄用,您應該使用'mysqli_'或'PDO'來代替,並使用綁定變量將用戶輸入傳遞給查詢。 (另外,我實際上並沒有在你發佈的代碼中看到任何'mysql_query'的調用。) – DCoder 2012-04-29 10:34:29