รบกวนดูโค๊ดการกรอกแบบฟอร์มให้หน่อยครับ ไม่ค่อยมีความรู้เรื่องนี้สักเท่าไร ใครรู้วิธีช่วยอธิบายแบบละเอียดทีนะครับ
พอกรอกแล้วมันขึ้นแบบนี้อะครับ
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 'set = '' , price = '' , phone = '' , etc = ''' at line 2
อันนี้โค๊ดครับ
เอามาจากเวปแล้วแก้นิดหน่อย
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<?
if($_POST['Add'])
{
// เชื่่อมต่อฐานข้อมูล
$host="localhost"; // กำหนด host
$username="root"; // กำหนด username
$pass_word="pass"; // กำหนด Password
$db="dbtest"; // กำหนดชื่อฐานข้อมูล
$Conn = mysql_connect( $host,$username,$pass_word) or die ("ติดต่อฐานข้อมูลไม่ได้");// ติดต่อฐานข้อมูล
mysql_query("SET NAMES utf8",$Conn); // set กำหนดมาตราฐาน
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); // เลือกฐานข้อมูล
//--->
$name = $_POST['name'];
$address = $_POST['address'];
$set = $_POST['set'];
$price = $_POST['price'];
$phone = $_POST['phone'];
$etc = $_POST['etc'];
// เพิ่มลงฐานข้อมูล
$sql_add = "insert into customer set
name = '$name' , address = '$address' , [font=Verdana]set = '$set' , price = '$price' , phone = '$phone' , etc = '$etc[/font] '"; ถ้าลบตรงสีแดงทิ้งแล้วจะเก็บค่าได้ครับ แต่ถ้าไม่ลบก็จะขึ้นแบบข้างบนตลอด
mysql_query($sql_add) or die(mysql_error());
echo "เพิ่มข้อมูลของ $name สำเร็จแล้ว";
//-->
}
?>
<body>
<form id="form1" name="form1" method="post" action="add_form.php">
<p>
ชื่อลูกค้า
<input type="text" name="name" id="name" />
<br />
<br />
ที่อยู่
<input type="text" name="address" id="address" />
<br />
<br />
ชุดที่สั่ง
<input type="text" name="set" id="set" />
<br />
<br />
ราคา
<input type="text" name="price" id="price" />
<br />
<br />
เบอร์โทรศัพท์
<input type="text" name="phone" id="phone" />
<br />
<br />
หมายเหตุ
<input type="text" name="etc" id="etc" />
<br />
<input type="submit" name="Add" id="Add" value="Add" />
</p>
</form>
</body>
</html>Tag : PHP, MySQL
Date :
2010-10-10 23:42:38
By :
bagilisk
View :
879
Reply :
13
คำสั่ง sql Insert ผิดครับ
ลองดูนี่เป็นตัวอย่าง
Code (PHP)
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "INSERT INTO customer ";
$strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["txtCustomerID"]."','".$_POST["txtName"]."','".$_POST["txtEmail"]."' ";
$strSQL .=",'".$_POST["txtCountryCode"]."','".$_POST["txtBudget"]."','".$_POST["txtUsed"]."') ";
$objQuery = mysql_query($strSQL);
if($objQuery)
{
echo "Save Done.";
}
else
{
echo "Error Save [".$strSQL."]";
}
mysql_close($objConnect);
?>
Ref : PHP MySQL Add/Insert Record
ประวัติการแก้ไข 2010-10-10 23:47:23
Date :
2010-10-10 23:45:55
By :
panyapol
คราวนี้ขึ้นแบบนี้แทนอะครับพี่
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 'set,price,phone,etc) VALUES ('','','' ,'','','')' at line 1
ผมแก้เป็นแบบนี้อะครับ
<?
if($_POST['Add'])
{
// เชื่่อมต่อฐานข้อมูล
$host="localhost"; // กำหนด host
$username="root"; // กำหนด username
$pass_word="snsdyoona"; // กำหนด Password
$db="dbtest"; // กำหนดชื่อฐานข้อมูล
$Conn = mysql_connect( $host,$username,$pass_word) or die ("ติดต่อฐานข้อมูลไม่ได้");// ติดต่อฐานข้อมูล
mysql_query("SET NAMES utf8",$Conn); // set กำหนดมาตราฐาน
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); // เลือกฐานข้อมูล
//--->
$name = $_POST['name'];
$address = $_POST['address'];
$set = $_POST['set'];
$price = $_POST['price'];
$phone = $_POST['phone'];
$etc = $_POST['etc'];
// เพิ่มลงฐานข้อมูล
$strSQL = "INSERT INTO customer ";
$strSQL .="(name,address,set,price,phone,etc) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["name"]."','".$_POST["address"]."','".$_POST["set"]."' ";
$strSQL .=",'".$_POST["price"]."','".$_POST["phone"]."','".$_POST["etc"]."') ";
mysql_query($strSQL) or die(mysql_error());
echo "เพิ่มข้อมูลของ $name สำเร็จแล้ว";
//-->
}
?>
Date :
2010-10-11 00:01:23
By :
bagilisk
เปลี่ยนจาก
insert into customer set
name = '$name' , address = '$address' , set = '$set' , price = '$price' , phone = '$phone' , etc = '$etc'";
เป็น
insert into customer
('name' , 'address' , 'set ' , 'price' ' , 'phone' , 'etc')values( '$name' , '$address' , '$set ' , '$price' ' , '$phone' , '$etc') ;
Date :
2010-10-11 00:01:25
By :
tam_hispeed2t
ลองเปลี่ยนเป็นแบบนี้
$sql_add = "insert into customer('name' , 'address' , 'set ' , 'price' ' , 'phone' , 'etc')values( '$name' , '$address' , '$set ' , '$price' ' , '$phone' , '$etc')" ;
mysql_query($sql_add) or die(mysql_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 ''name' , 'address' , 'set ' , 'price' ' , 'phone' , 'etc') values( '' , '' , ' '' at line 1
T__T งง งวย
Date :
2010-10-11 00:15:43
By :
bagilisk
งั้นลองเอาแบบนี้ครับ ตรง insert into
$sql_add = "insert into customer values( '$name' , '$address' , '$set ' , '$price' ' , '$phone' , '$etc')" ;
ในกรณีที่คุณต้องการจะ insert ข้อมูลทุกๆ ฟิลด์ใน table ครับ
Date :
2010-10-11 00:38:52
By :
tam_hispeed2t
INSERT INTO customer(name, address,set , price ,phone ,etc)
VALUES( '$name' , '$address' , '$set ' , '$price' , '$phone' , '$etc') ;
id คุณเป็น int หรือป่าวครับ...
ปล. มัน error เพราะ มีซิงเกิงโควตเกิน...
Date :
2010-10-11 00:48:35
By :
t-monroe
ขอบคุณมากครับ
แต่ยังขึ้นแบบนี้อยู่เลยอะครับ T___T
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 '' , '' , '')' at line 1
ไม่เข้าใจว่ามันผิดตรงไหน
ถ้าลบให้เหลือรับค่าแค่ 2 ค่า มันจะไม่เออเร่อเลย
Date :
2010-10-11 00:49:54
By :
bagilisk
' มันเกินครับสังเกตุดีๆ
Date :
2010-10-11 00:51:26
By :
t-monroe
ถ้าระบบุฟิว
="INSERT INTO customer(name, address,set , price ,phone ,etc)
VALUES( '$name' , '$address' , '$set ' , '$price' , '$phone' , '$etc')" ;
ทั้งหมดก็
="INSERT INTO customer VALUES( '$name' , '$address' ,'$date', '$set ' , '$price' , '$phone' , '$etc')" ;
Date :
2010-10-11 01:05:51
By :
t-monroe
ยังไม่ได้เหมือนเดิมอะครับ T_T
สงสัยจะต้องเริ่มใหม่ทั้งหมด
Date :
2010-10-11 02:18:38
By :
bagilisk
$sql_add = "INSERT INTO customer VALUES ('$name', '$address', '$set', '$price', '$phone', '$etc')" ;
ขึ้นว่า
Column count doesn't match value count at row 1
-___-"
Date :
2010-10-11 02:36:41
By :
bagilisk
ได้แล้วครับๆ
ขอบคุณมากครับ ^^
Date :
2010-10-11 02:43:39
By :
bagilisk
Load balance : Server 03