add ข้อมูลลง database แล้ว error ได้เขียน code php เพิ่มข้อมูลลงฐานข้อมูลที่เป็น informix
ได้เขียน code php เพิ่มข้อมูลลงฐานข้อมูลที่เป็น informix แล้วเกิด error ดังนี้ค่ะ
odbc_exec() [function.odbc-exec]: SQL error: [Informix][Informix ODBC Driver][Informix]Could not insert new row into the table. sqlerrm(user_used), SQL state 40001 in SQLExecDirect
ส่วน code ก็ไม่มีอะไรมากค่ะ แค่ 3 บรรทัดเอง
Code (PHP)
$con=odbc_connect('xx','xxx','xxx');
$sqlInsert= "INSERT INTO login_detail (update_by,location,menu,d_used,t_used)VALUES(111,'test1','test2','date('d/m/'.(date('Y')+543))','date('H:i:s')')";
$rsInsert=odbc_exec($con,$sqlInsert);
Tag : - - - -
Date :
2010-07-02 10:44:06
By :
tiggerOne
View :
1883
Reply :
3
ผมว่านะตอน iNsert อะ น่าจะเก็บค่ายัดใส่ตัวแปรก่อนนะ น่าจะดีกว่า
แบบนี้อะ
Code (PHP)
$a='111';
$b='222';
$date=date('Y')+543;
$Time=date(H:i:s);
$sqlInsert= "INSERT INTO login_detail (update_by,location,menu,d_used,t_used)VALUES('$a','$b','$date','$Time')"; ///<----- แบบนี้น่าจะเข้าใจง่ายกว่านะ
$rsInsert=odbc_exec($con,$sqlInsert);
Date :
2010-07-02 11:35:28
By :
SOUL
ขอบคุณมากนะคะ แต่ว่าลองใส่เป็นตัวแปรแล้วยังไม่ได้น่ะค่ะยังฟ้อง error เดิมคือ
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Informix][Informix ODBC Driver][Informix]Could not insert new row into the table. sqlerrm(user_used), SQL state 40001 in SQLExecDirect
โค้ดที่แก้ตามที่คุณSoul แนะนำ แต่ว่ายังไม่ได้ค่ะ
Code (PHP)
$s_update_by = $_SESSION['update_by'];
$s_location = $_SESSION['location'];
$s_menu = $_SESSION['menu'];
$s_date = date("d/m/".(date("Y")+543));
$s_time = date("H:i:s");
$con=odbc_connect('xx','xxx','xxx');
$sqlInsert= "INSERT INTO user_used (update_by,location,menu,d_used,t_used)VALUES($s_update_by,'$s_location','$s_menu','$s_date','$s_time')";
$rsInsert=odbc_exec($con,$sqlInsert);
Date :
2010-07-02 13:25:33
By :
tiggerOne
ไม่เคยเขียน ODBC มาก่อนไม่รู้ช่วยได้มั้ย
<?php
$s_update_by = $_SESSION['update_by'];
$s_location = $_SESSION['location'];
$s_menu = $_SESSION['menu'];
$s_date = date("d/m/".(date("Y")+543));
$s_time = date("H:i:s");
$con=odbc_connect('xx','xxx','xxx');
// $sqlInsert= "INSERT INTO user_used (update_by,location,menu,d_used,t_used)VALUES($s_update_by,'$s_location','$s_menu','$s_date','$s_time')";
// $rsInsert=odbc_exec($con,$sqlInsert);
// ลองแก้แบบนี้ดีกว่า
$sql_stm= odbc_prepare($conn, "INSERT INTO user_used (update_by,location,menu,d_used,t_used) ".
"VALUES(?, ?, ?, ?, ?)"); // SQL statment
$rsInsert=odbc_exec($sql_stm, array($s_update_by,
$s_location,
$s_menu,
$s_date,
$s_time)
); // end Excuted.
// ลองดูน่ะครับ
// ถ้าไม่ได้ลอง ตรวจสอบ ที่ ODBC Driver ที่ set ใน Control panel นะครับ
?>
Date :
2010-07-02 15:09:21
By :
mrjidjad
Load balance : Server 03