 |
ปัญหาของคำสัง UPDATE และ INSERT1 ครับช่วยแก้ที mssql |
|
 |
|
|
 |
 |
|
$strSQL = "INSERT INTO MEMB_CREDITS WHERE ( credits, memb___id) VALUES('credits + {$amount}', '$userid')");
$strSQL = "INSERT INTO MEMB_CREDITS WHERE ( credits, memb___id) VALUES('credits + {$amount}', '$userid')";
|
 |
 |
 |
 |
Date :
2010-05-29 23:12:18 |
By :
2123 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เพิ่งเคยเห็น insert into ... where
|
 |
 |
 |
 |
Date :
2010-05-31 06:34:36 |
By :
ขี้เกียจล็อกอิน |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลบ where ออก ครับ
<?
$objConnect = mssql_connect("2009-EE57FEC235","sa","");
$objDB = mssql_select_db("MuOnline");
$strSQL = "SELECT count(*) as total FROM MEMB_CREDITS WHERE memb___id = '$userid'";
$objQuery = mssql_query($strSQL);
if($row['total'] == 0){
$strSQL = "INSERT INTO MEMB_CREDITS( credits, memb___id) VALUES('credits + {$amount}', '$userid')";
}
else{
$strSQL = "UPDATE MEMB_CREDITS SET credits=credits + {$amount} WHERE memb___id='$userid'";
}
mssql_query($strSQL);
?>
|
 |
 |
 |
 |
Date :
2010-05-31 07:26:37 |
By :
วีระ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$strSQL = "INSERT INTO MEMB_CREDITS( credits, memb___id) VALUES('$amount', '$userid')";
|
 |
 |
 |
 |
Date :
2010-05-31 17:26:31 |
By :
heng |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ที่ดู มันบอกว่า Cannot insert duplicate key in object 'MEMB_CREDITS'. (severity 14) in C:\AppServ\www\mu2.php on line 12
มันบอกว่า ไ่ม่สามารถ เพิ่ม ครับ ไม่ได้ แก้ไขอะ
ลอง Debug ดูค่า $row['total'] ดูว่ามัน เป็น 0 จริงเปล่าครับ แต่เหมือนกับว่า มันใช้คำสั่ง Insert ไม่ใช่ Update เลยอะถ้าฟ้องมายังเนี้ย
ปล. แล้วตัวแปร $row เนี้ ยประกาศรับค่ามาจากตรงไหนอะ ไม่เห็นเลย เห็นมีแต่ $objQuery = mssql_query($strSQL)
|
 |
 |
 |
 |
Date :
2010-06-01 09:24:02 |
By :
newnakab |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก็หนู query มาแล้วมาตั้งไว้เฉยๆอ่ะ ต้องใช้ mssql_fetch_??? ตรงใต้บรรทัด 05 ก่อนครับ 
เช่น $row=mssql_fetch__assoc($objQuery)
ถ้าแบบนี้ยังไง if($row['total'] == 0) ก็จะเป็นจริงตลอด มันก็จะ insert ตลอด
|
 |
 |
 |
 |
Date :
2010-06-01 10:20:04 |
By :
pnbps |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองศึกษาคำสั่ง Replace INTO ดูนะ คำสั่งนี้ถ้ามีแถวแล้วมันจะ update ถ้าไม่มันจะ insert
http://dev.mysql.com/doc/refman/5.0/en/replace.html
|
 |
 |
 |
 |
Date :
2010-06-01 10:37:37 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เท่าที่ดี Code ก็ถูกแล้วนะ
ลอง Debug ให้พิมพ์ ออกมา ก่อน $row['total'] ว่ามีค่าเท่าไรนะ
เท่าที่ดู มันเข้าไปตรง Insert นะ
ก็แปลว่า น่าจะมีปัญหาตรง If นะครับ
|
 |
 |
 |
 |
Date :
2010-06-07 10:15:26 |
By :
taobsd |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ได้กำหนด primary key
|
 |
 |
 |
 |
Date :
2011-02-08 00:28:48 |
By :
pk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ได้กำหนด primary key
|
 |
 |
 |
 |
Date :
2011-02-08 00:29:19 |
By :
pk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|