ช่วยดูหน่อยครับมันขึ้น You have an error in your SQL syntax ผมเชคหลายรอบแล้วหาไม่เจอ
Code
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 'order(order_id, member_id, total_price, date_order) V' at line 1
มันขึ้นแบบข้างบนนี้อะครับมันผิดตรงไหนอะครับ หาหลายรอบแล้วไมเจออะครับ ใครก็ได้ช่วยดูหน่อยครับ
ขอบคุณครับ
Code (PHP)
<?
//============ Start Session และทำการเรียก Function ติดต่อฐานข้อมูล
session_start();
ob_start();
require("config/connect.php");
require("config/function.php");
//============ กรณีเลือกทำการ บันทึกข้อมุลสั่งซื้อ
if($_POST["action"]=="add")
{
// อ่าน OrderID
$sqlorder= "SELECT * FROM list WHERE 1";
$sqlorder_q= mysql_query($sqlorder);
$strResultOrderID= mysql_fetch_array($sqlorder_q);
$strOrderID="ORDER-".substr("000000000$strResultOrderID[list]", -6);
//อ่าน MemberID
$sqlm= "SELECT * FROM member WHERE 1 and username= '".$_SESSION['user']."'";
$sqlm_q= mysql_query($sqlm);
$strMemberID= mysql_fetch_array($sqlm_q) or die(mysql_error());
// Insert Order
$sql = "INSERT INTO order(order_id,
member_id,
total_price,
date_order) VALUES ('".$strOrderID."',
'".$strMemberID['member_id']."',
'".$_POST['txtTotal']."',
'".date('Y-m-d')."')";
$dbquery = mysql_query($sql) or die(mysql_error());
// Insert Detail
for($i=0;$i<=count($_SESSION["strProductID"]);$i++)
{
$result=select("products","where 1=1 and p_id='".$_SESSION["strProductID"]["$i"]."' ");
if($result)
{
$Proid=$_SESSION["strProductID"]["$i"];
$Quanlity=$_SESSION["strQuanlity"]["$i"];
$sql = "update products set Stock=Stock-$Quanlity where p_id='$Proid'";
$dbquery = mysql_query($sql) or die(mysql_error());
$sql = "insert into order_detail (order_id,p_id,quanlity) Values ('$strOrderID','".$_SESSION["strProductID"]["$i"]."','".$_SESSION["strQuanlity"]["$i"]."')";
$dbquery = mysql_query($sql) or die(mysql_error());
}
}
// Update Order ตัวต่อไปให้เป็น 1
update("list","list=list+1","where 1");
$_SESSION["strP"]="";
$_SESSION["strProductID"]="";
$_SESSION["strQuanlity"]="";
session_write_close();
//============ กระโดดไปหน้า ordercomplete.php
header("location:order_complete.php?OrderID=$strOrderID");
}
?>
<!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>welcome tt_electrical</title>
<meta name="keywords" content="green home website, free web template, free templates, CSS, HTML" />
<meta name="description" content="Green Home - free HTML CSS template by templatemo.com" />
<link href="templatemo_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<? include('mem_log.php'); ?>
<div id="templatemo_document_wrapper">
<div id="templatemo_wrapper">
<? include('menu/index_menu.php'); ?>
<div id="templatemo_header">
<div id="site_title">
<h1><a href="#"><img src="" alt="Logo" /></a></h1>
</div> <!-- end of site_title -->
</div>
<div id="templatemo_main">
<div id="frontpage_services">
<div id="form_regis">
<h3 class="sp2" align="center">ยืนยันการสั่งซื้อ</h3>
<br />
<form action="" method="post" name="frmCart" id="frmCart">
<input name="action" type="hidden" id="action" value="add">
<table width="98%" height="21" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#666666">
<tr bgcolor="#FFFFFF">
<td><div align="center">ลำดับ</div></td>
<td>ชื่อสินค้า</td>
<td><div align="center">ราคา</div></td>
<td><div align="center">จำนวน</div></td>
<td><div align="center">รวม</div></td>
</tr>
<?
//============ แสดงรายการที่ได้สั่งซื้อว่ามีอะไรบ้าง
$strNum=0;
$strTotal=0;
for($i=0;$i<=count($_SESSION["strProductID"]);$i++)
{
//============ เลือกว่าเป็นรายการสินค้าชนิดใด
$result=select("products","where 1=1 and p_id='".$_SESSION["strProductID"]["$i"]."' ");
if($result)
{
$strNum++;
?>
<tr bgcolor="#FFFFFF">
<td width="9%"> <div align="center">
<?=$strNum;?>
</div></td>
<td width="48%">
<?=$result["p_name"];?>
</td>
<td width="14%"> <div align="right">
<?="".number_format($result["p_price"], 2,'.',',');?>
</div></td>
<td width="13%"><div align="center">
<?=$_SESSION["strQuanlity"]["$i"];?>
</div></td>
<td width="16%"> <div align="right">
<?="".number_format($result["p_price"]*$_SESSION["strQuanlity"]["$i"], 2,'.',',');?>
</div></td>
</tr>
<?
$strTotal=$strTotal+($result["p_price"]*$_SESSION["strQuanlity"]["$i"]);
}
}
?>
</table>
<br> <table width="98%" height="21" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#666666">
<tr bgcolor="#FFFFFF">
<td><div align="right">จำนวน (รายการ)</div></td>
<td> <div align="right">
<?=$strNum;?>
</div></td>
</tr>
<tr bgcolor="#FFFFFF">
<td> <div align="right">ราคารวม (บาท)</div></td>
<td width="16%"> <div align="right">
<?="".number_format($strTotal, 2,'.',',');?>
<input name="txtTotal" type="hidden" value="<?=$strTotal;?>">
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td width="378">
<div align="center"><br>
<hr align="center" width="98%" color="#f2f2f6">
<br>
<?
if($strNum==0)
{
echo "<br><center><strong><font color=red>ไม่มีรายการสั่งซื้อ</font></strong></center><br><br>";
}
?>
<input name="BtnContinute" type="button" class="button" id="BtnContinute" value="กลับไปแก้ไข" onClick="window.location='cart.php';">
<?
if($strNum>0)
{?>
<input name="BtnPayment" type="submit" class="button" id="BtnPayment" value="ยืนยันการสั่งซื้อ">
<? }?>
<br>
</div></td>
</tr>
</table>
</form>
</div>
<div class="cleaner"></div>
</div> <!-- end of fp services -->
<div class="cleaner"></div>
<div class="cleaner"></div>
</div>
</div> <!-- end of wrapper -->
</div>
<div id="templatemo_footer_wrapper">
<div id="templatemo_footer">
<a href="index.html">Home</a> | <a href="services.html">Services</a> | <a href="blog.html">Blog</a> | <a href="gallery.html">Gallery</a> | <a href="contact.html">Contact</a><br /><br />
Copyright © 2048 <a href="#">Your Company Name</a> | Designed by <a href="http://www.templatemo.com" target="_parent">Free CSS Templates</a>
</div> <!-- end of templatemo_footer -->
</div>
</body>
</html>
Tag : PHP, MySQL
Date :
2013-04-21 16:23:25
By :
tenshunen
View :
906
Reply :
6
echo $strOrderID="ORDER-".substr("000000000$strResultOrderID[list]", -6);
ออกมาดูครับ น่าจะมีปัญหาที่ค่าตัวแปรนี้
Date :
2013-04-21 17:04:41
By :
mangkunzo
ORDER-000000
ไปดูฟิวด์ order_id กำหนด datatype ไว้เป็นอะไรครับและกำหนด length ไว้เท่าไหร่ เช็คดูครับ
** ถ้าหนดเป็น autonumber ไว้จะ insert ค่าให้มันไม้ได้น่ะครับ
ประวัติการแก้ไข 2013-04-21 17:16:59 2013-04-21 17:18:00
Date :
2013-04-21 17:16:14
By :
mangkunzo
ออ...ผมลืมไปเลยว่า order เป็นคำสงวนครับ จำเป็นต้องมี ` คร่อมเอาไว้ด้วยครับ (จากบทความของคุณ แมวของคุกกี้ )
insert into `order`............. ลองดูครับ
Date :
2013-04-21 18:12:50
By :
mangkunzo
ทำได้แล้วครับ สรุปเป็นที่ชื่อ table นี่เอง ขอบคุณทุกๆท่าน ทุกๆคำตอบคำตอบมากๆเลยครับ
Date :
2013-04-21 19:06:54
By :
tenshunen
Load balance : Server 02