|
|
|
ช่วยดูหน่อยครับมัน insert Error ไม่รู้ว่าผิดประการใด |
|
|
|
|
|
|
|
ยังไม่ได้ return ค่ากลับเลยครับ
|
|
|
|
|
Date :
2013-07-29 08:21:33 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $query; หรือลอง echo $sql ออกมาดูครับ มันมีเออเร่อไรหรือเปล่า
|
|
|
|
|
Date :
2013-07-29 08:34:17 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return แล้วค่าไม่ออก
แต่ echo ออก
|
|
|
|
|
Date :
2013-07-29 08:52:48 |
By :
cr4zyco3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูหน่อยครับ มันเออเร่ออะไรครับ
|
ประวัติการแก้ไข 2013-07-29 09:03:54
|
|
|
|
Date :
2013-07-29 09:00:33 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ชื่อตารางผิดหรือเปล่าครับ
Acccount
น่าจะเป็น Account ใช่หรือไม่
|
|
|
|
|
Date :
2013-07-29 09:35:21 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูตัวอย่างที่มีการเรียกใช้
function เพื่อ insert data หน่อยครับผม
|
|
|
|
|
Date :
2013-07-29 09:59:40 |
By :
cr4zyco3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function Insert_Data($email){
$sql = "INSERT INTO Acccount (email) VALUES ('$email')";
$query=mysql_query($sql);
$rs=mysql_fetch_assoc($query);
return $rs[email];
}
มันจะคืนค่าอีเมลล์ที่เราได้ Insert เข้าไป จริงๆแล้วอาจต้องเช็คเงื่อนไขในฟังก์ชั่นนี้ด้วยว่าอีเมลล์ซ้ำกันหรือไม่ ถ้าอีเมลล์ซ้ำกัน อาจมีการส่งค่ากลับมาว่า ไม่สามารถเพิ่มข้อมูลนี้ได้เพราะอีเมลล์ซ้ำกัน
|
|
|
|
|
Date :
2013-07-29 10:08:44 |
By :
mitchiketta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
connect server
connect db
หรือยังจ๊ะ
|
|
|
|
|
Date :
2013-07-29 10:11:43 |
By :
nut_ch31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมทำหมดทุกอย่างละคือว่าผมใช้ sqlsrv ในการ insert คือผมลองใช้ $_GET ดูแล้วมันก็ใช้ได้แต่ว่า
พอเรียกใช้ผ่าน Function มันก็ไม่ insert เลยอ่ะครับ
|
|
|
|
|
Date :
2013-07-29 10:25:19 |
By :
cr4zyco3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในฟังก์ชั่นลองใส่
echo $sql;
exit();
แล้วลองเอาคำลั่ง SQL ที่ได้ ไปใส่ใน Database ดูครับ ว่า INSERT ได้หรือไม่
ถ้าไม่มีคำสั่ง SQL ที่เราให้ echo ออกมาแสดงว่า function เราไม่ทำงาน
|
|
|
|
|
Date :
2013-07-29 10:28:51 |
By :
mitchiketta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือโค้ดที่ใช้มันถูกต้องแล้วครับ (ถูกต้องในด้าน syntax) แต่สิ่งที่อาจเป็นสาเหตุที่ทำให้ INSERT ไม่ได้คือ
1. ยังไม่ได้เชื่อมต่อฐานข้อมูลด้วย mysql_connect() หรือเชื่อมต่อล้มเหลว
2. คอลัมน์ email เป็น UNIQUE หรือ PRIMARY และค่าที่ INSERT เข้าไปใหม่มีอยู่ในตารางอยู่แล้ว
3. ชื่อตารางผิด
4. ชื่อคอลัมน์ผิด
5. ตาราง Acccount มีคอลัมน์อื่นที่จำเป็นจะต้องให้ค่ากับมัน คืออาจจะมีคอลัมน์ที่ไม่มีค่า default อยู่
6. $email มีตัวอักษร ' (หรืออื่นๆ ที่ไม่สมควร) อยู่ ทำให้ $sql กลายเป็น query ที่ผิดพลาด
ลองเพิ่มโค้ดเข้าไปในฟังก์ชั่นดูครับ แล้วเอา error ที่แสดงมาให้ดู
function insert($email)
{
// escape ค่าก่อน เพื่อป้องกัน $sql กลายเป็น query ที่ไม่ถูกต้อง
$email = mysql_real_escape_string($email);
$sql = "INSERT INTO `Acccount` (`email`) VALUES ('$email')";
$query = mysql_query($sql);
if (!$query) {
echo mysql_error() . " [ $sql ]";
exit;
}
}
|
ประวัติการแก้ไข 2013-07-29 10:58:15
|
|
|
|
Date :
2013-07-29 10:55:02 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|