ช่วยดู code ให้หน่อยครับมัน error ตอนเพิ่มข้อมูลลงบนฐานข้อมูลครับ
Code (PHP)
<?php
//start the session
session_start();
//check to make sure the session variable is registered
if(session_is_registered('user')){ ?>
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME'];?>" method="post">
<select name="select" onChange="this.form.submit()">
<option value="sos">Choose Database</option>
<option value="website">website</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
</form>
<?
$objConnect = mysql_connect("localhost","root","9999") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$tablename = $_POST["select"];
echo $tablename;
//*** Add Condition ***//
if($_POST["hdnCmd"] == "Add")
{
$strSQL = "INSERT INTO ".$tablename." ";
$strSQL .="(WebID,LinkWeb,Description) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["txtAddWebID"]."','".$_POST["txtAddLinkWeb"]."','".$_POST["txtAddDescription"]."')";
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Save [".mysql_error()."]";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
//*** Update Condition ***//
if($_POST["hdnCmd"] == "Update")
{
$strSQL = "UPDATE ".$tablename." SET ";
$strSQL .="WebID = '".$_POST["txtEditWebID"]."' ";
$strSQL .=",LinkWeb = '".$_POST["txtEditLinkWeb"]."' ";
$strSQL .=",Description = '".$_POST["txtEditDescription"]."' ";
$strSQL .="WHERE WebID = '".$_POST["hdnEditCustomerID"]."' ";
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Update [".mysql_error()."]";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
//*** Delete Condition ***//
if($_GET["Action"] == "Del")
{
$strSQL = "DELETE FROM ".$tablename." ";
$strSQL .="WHERE WebID = '".$_GET["CusID"]."' ";
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Delete [".mysql_error()."]";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
$strSQL = "SELECT * FROM ".$tablename."";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<form name="frmMain" method="post" action="<?=$_SERVER["PHP_SELF"];?>">
<input type="hidden" name="hdnCmd" value="">
<table width="700" border="1">
<tr>
<th width="91"> <div align="center">WebID </div></th>
<th width="98"> <div align="center">LinkWeb </div></th>
<th width="458"> <div align="center">Description </div></th>
<th width="30"> <div align="center">Edit </div></th>
<th width="30"> <div align="center">Delete </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<?
if($objResult["WebID"] == $_GET["CusID"] and $_GET["Action"] == "Edit")
{
?>
<tr>
<td><div align="center">
<input type="text" name="txtEditWebID" size="5" value="<?=$objResult["WebID"];?>">
<input type="hidden" name="hdnEditCustomerID" size="5" value="<?=$objResult["WebID"];?>">
</div></td>
<td><input type="text" name="txtEditLinkWeb" size="40" value="<?=$objResult["LinkWeb"];?>"></td>
<td><input type="text" name="txtEditDescription" size="40" value="<?=$objResult["Description"];?>"></td>
<td colspan="2" align="right"><div align="center">
<input name="btnAdd" type="button" id="btnUpdate" value="Update" OnClick="frmMain.hdnCmd.value='Update';frmMain.submit();">
<input name="btnAdd" type="button" id="btnCancel" value="Cancel" OnClick="window.location='<?=$_SERVER["PHP_SELF"];?>';">
</div></td>
</tr>
<?
}
else
{
?>
<tr>
<td><div align="center"><?=$objResult["WebID"];?></div></td>
<td><?=$objResult["LinkWeb"];?></td>
<td><?=$objResult["Description"];?></td>
<td align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?Action=Edit&CusID=<?=$objResult["WebID"];?>">Edit</a></td>
<td align="center"><a href="JavaScript:if(confirm('Confirm Delete?')==true){window.location='<?=$_SERVER["PHP_SELF"];?>?Action=Del&CusID=<?=$objResult["WebID"];?>';}">Delete</a></td>
</tr>
<?
}
?>
<?
}
?>
<tr>
<td><div align="center"><input type="text" name="txtAddWebID" size="5"></div></td>
<td><input type="text" name="txtAddLinkWeb" size="40"></td>
<td><input type="text" name="txtAddDescription" size="40"></td>
<td colspan="2" align="right"><div align="center">
<input name="btnAdd" type="button" id="btnAdd" value="Add" OnClick="frmMain.hdnCmd.value='Add';frmMain.submit();">
</div></td>
</tr>
</table>
</form>
<?
mysql_close($objConnect);
?>
<a href ="Search.php" >Search</a><br>
<a href ="Logout.php" >Logout</a>
</body>
</html>
<?php
}
else{
//the session variable isn't registered, send them back to the login page
echo "<script>window.location='login.html'</script>";
}
?>
ถ้าเลือกฐานข้อมูลมาดูเฉยๆมันแสดงผลได้ตามปกติ
แต่พอผมต้องการเพิ่ม แก้ไข ข้อมูลลงฐานข้อมูลมัน error ตามนี้ครับ
Error Save [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 '(WebID,LinkWeb,Description) VALUES ('10','s','s')' at line 1]Error Query [SELECT * FROM ]Tag : - - - -
Date :
2010-03-19 09:37:12
By :
tehman
View :
898
Reply :
15
ลอง echo sql ของคุณออกมาดูนะคะ ว่าถูกต้องไหม
ลองเอา sql ไปรันดูที่ฐานข้อมูลด้วยนะคะ
Date :
2010-03-19 09:42:31
By :
ultrasiam
ตอนแรกก็เพิ่ม แก้ไข ลบ ได้ปกตินะครับ
แต่พอผมเพิ่ม form select เข้ามามันเกิด error เวลาเพิ่ม แก้ไข ข้อมูลครับ
Date :
2010-03-19 09:45:13
By :
tehman
คำสั่ง sql ผิดครับ ลองทำตามคุณ ultrasiam บอกเลยครับ
ถ้าไม่ได้ลองโพสต์คำสั่ง sql มาด้วยก็ดีครับ
Date :
2010-03-19 10:26:30
By :
onizike
Code (PHP)
$tablename = website;
พอผมแก้ให้มันจาก $tablename = $_POST["select"]; เป็น $tablename = website;
ก็ทำงานได้ปกติครับ
ผมคิดว่ามันน่าจะมาจากการที่พอผมกด add edit del มันไม่ได้ get ค่า select ผมไปอะครับเลยทำให้ sql มัน error
ผมจึงอยากทราบว่าวิธีให้มัน get ไปด้วยทำไงอะครับ
Date :
2010-03-19 10:39:57
By :
tehman
คุณ ใช้ POST นี่ครับ
ลองไปดูว่าค่าที่ POST ก่อนจะบันทึกอะครับ มันมาหรือเปล่า
เช่น ฟอร์มมี ID NAME
ก็ลอง
$id=$POST[id];
$name=$_POST[name];
echo $id;
echo $name;
แล้ว die; ไว้ ก่อน
Date :
2010-03-19 11:00:22
By :
Manussawin
ตอนแสดงตอนแรกมันมาอะครับ
แต่พอผมทำการแก้ไขข้อมูลแล้วจะบันทึก ตอนนั้นมันไม่มาอะครับ
ไม่ทราบว่าแก้ยังไง
Date :
2010-03-19 11:15:59
By :
tehman
ตรงนี้ผิดเปล่าครับ
$tablename = $_POST["select"];
ต้องดป็นแบบนี้หรือเปล่า
$tablename = $_POST[select];
ได้ไหมบอกด้วยนะไม่แน่จัย
Date :
2010-03-19 11:17:52
By :
aimoomoo
ไม่ใช่อะครับ
Date :
2010-03-19 11:23:58
By :
tehman
ผมเดาว่า คุณมี 2 form ครับ ตัวหนึ่งครอบ select อีกตัวครอบ ค่าต่าง ๆ
ค่า select คุณส่งอีก form หนึ่ง
hdnCmd ตัวนี้ส่งใน form ชื่อ frmMain
Date :
2010-03-19 11:33:53
By :
ความรู้เท่าหางอึ่ง
แสดง error เปล่า
ใช้ php เวอร์ชั่นอาราย
Date :
2010-03-19 11:37:29
By :
aimoomoo
ใช้ครับ
ค่า select ถูกส่งมาจากหน้าก่อนหน้านี้ครับ
แต่พอผมกด add edit del มันไม่ได้ส่งค่า select ไปด้วยอะครับ
ผมควรแก้ไขโค๊ดยังไงครับ
Date :
2010-03-19 11:37:56
By :
tehman
ค่า select มันอยู๋ในหน้าเดียวกันไม่ใช่เหรอครับ แต่คนละ form
<form action="<?=$_SERVER['SCRIPT_NAME'];?>" method="post">
014. <select name="select" onChange="this.form.submit()">
015. <option value="sos">Choose Database</option>
016. <option value="website">website</option>
017. <option value="b">b</option>
018. <option value="c">c</option>
019. </select>
020. </form>
Date :
2010-03-19 11:48:39
By :
ความรู้เท่าหางอึ่ง
อื่มใช้ครับผมดูผิดไป
นั้นแหละครับแล้วจะแก้ไขยังครับ
Date :
2010-03-19 11:51:49
By :
tehman
แล้วเอาไว้ใน ฟอร์มเดียวกันไม่ได้เหรือ หรือว่าคุณใช้ทำอะไร
Date :
2010-03-19 11:53:50
By :
ความรู้เท่าหางอึ่ง
แก้ไขแล้วครับ
นำ
Code (PHP)
."?select=".$_GET[select]
มาต่อท้าย
Code (PHP)
$_SERVER["PHP_SELF"]
แล้วกลายเป็น
Code (PHP)
action="<?=$_SERVER["PHP_SELF"]."?select=".$_GET[select];?>
เพื่อให้ส่งไปยังหน้าถัดไปด้วยครับ
ขอบคุณคำแนะนำทุกท่านมากนะครับ
Date :
2010-03-19 12:56:19
By :
tehman
Load balance : Server 02