PHP Developer Channel :: 討論園地

您尚未登入。

#1 2006-10-16 14:12:34

michaelliu0624
Member
註冊日期: 2006-05-30
文章數: 33

請問這插入的語法哪裡錯誤嗎?

以下程式是, 我想要把資料給插入到資料表中, 依照每一個欄位插入
但是怎樣試, 都進不去插入不進去
可以請前輩門指點一下嗎?

<?php
include ("0_2.php");
mysql_select_db("Web_Questionnaire", $db) or die ("無法連接MySQL! \n");
$query=" SELECT * FROM `Questions`";
$result=mysql_query($query, $db);
if ($result === FALSE)
{
echo "query失敗 \n";
exit();
}
echo mysql_field_name($result,1);
for ($s=1;$s<=5;$s++){
$sql = "insert into `Questions` (`mysql_field_name($result,$s)`) values ('填入值');";
}
mysql_query($sql);

?>

離線

 

#2 2006-10-16 15:37:44

michaelliu0624
Member
註冊日期: 2006-05-30
文章數: 33

Re: 請問這插入的語法哪裡錯誤嗎?

Darkhero 寫到:
你把 echo $sql 看一下SQL產生的結果....
另外可以用 mysql_error 看MySQL丟回來的錯誤訊息...


謝謝Darkhero前輩,
照您的方法
echo出來的$sql顯示:
insert into `Questions` (`mysql_field_name(Resource id #8,1)`) values ('填入值');insert into `Questions` (`mysql_field_name(Resource id #8,2)`) values ('填入值');insert into `Questions` (`mysql_field_name(Resource id #8,3)`) values ('填入值');insert into `Questions` (`mysql_field_name(Resource id #8,4)`) values ('填入值');insert into `Questions` (`mysql_field_name(Resource id #8,5)`) values ('填入值');
表示沒有把資料表欄位名稱給抓到

我的解決方法:
把程式碼中mysql_field_name($result,$s)拿出來, 指定一個變數給她($field), 再用$field變書取代掉sql語法中的mysql_field_name($result,$s), 如此即可以插入資料表當中, echo$sql, 顯示如:

insert into `Questions` (`aaaaaaaaaaa?)`) values ('填入值');insert into `Questions` (`bbbbbbbbb?)`) values ('填入值');insert into `Questions` (`cccccccccc?)`) values ('填入值');insert into `Questions` (`dddddddddd?)`) values ('填入值');insert into `Questions` (`eeeeeeeeeeee?)`) values ('填入值');

謝謝前輩指點!!

離線

 

論壇頁尾

Web Hosting
PHP Developer Channel
Powered by PunBB 1.2.9
© Copyright 2002–2005 Rickard Andersson