 |
upload file ยังไม่ได้เลย error ไม่รู้ว่าจะต้องแก้ยังไงดีแล้วค่ะ |
|
 |
|
|
 |
 |
|
ใส่ echo ไปแล้วมันขึ้น error แบบนี้ค่ะ
nsert into unit1 (number, name, unit, address) values ('5555445','klklkl','k;lk;','SWITCHHUB.pdf')
Warning: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement., SQL state 37000 in SQLExecDirect in c:\appserv\www\addform.php on line 15
37000
อ้อ แล้วก็ก่อนที่จะ key ข้อมูลลงใน text box มันก็ขึ้น error ด้วยค่ะ คือหมายถึงตอนเข้าหน้า addform มามันก็ขึ้น error แบบนี้เลยค่ะ
Notice: Undefined index: file in c:\appserv\www\addform.php on line 6
Notice: Undefined index: number in c:\appserv\www\addform.php on line 10
Notice: Undefined index: name in c:\appserv\www\addform.php on line 11
Notice: Undefined index: unit in c:\appserv\www\addform.php on line 12
Notice: Undefined variable: filename in c:\appserv\www\addform.php on line 13
insert into unit1 (number, name, unit, address) values ('','','','')
Warning: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement., SQL state 37000 in SQLExecDirect in c:\appserv\www\addform.php on line 15
37000
ต้องแก้ยังไงดีค่ะ ช่วยหน่อยนะคะ จะเป็นพระคุณอย่างสูงเลย
ยังไงก็ติดต่อกลับมาทางเมลล์ก็ได้นะคะ
[email protected]
Tag : - - - -
|
|
 |
 |
 |
 |
Date :
11 ต.ค. 2549 09:37:34 |
By :
popo |
View :
2904 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ในไฟล์ php.ini แก้ที่ register_globals = Off เป็น register_globals = On
|
 |
 |
 |
 |
Date :
11 ต.ค. 2549 13:37:37 |
By :
ปุด |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วบรรทัดที่ 6,10,11,12,13 มีอะไรบ้างครับ
|
 |
 |
 |
 |
Date :
11 ต.ค. 2549 13:40:14 |
By :
nut_t02 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
field ชื่อ number ไม่สามารถใช้ได้ครับ ให้เปลี่ยนเป็น ชื่ออื่น เช่น number1 (คุณปุด บอกไว้ก่อนหน้านี้แล้วว่าชื่อ field ผิดนะครับ)
ส่วนอีกที่นึงที่มัน error มาก่อน คิดว่าเกิดขึ้นเพราะคุณเขียนคำสั่ง sql ไว้ด้านบนของ page นี้ และเมื่อ page นี้ถูกโหลดขึ้นมา มันก็ถูกประมวลผล 1 ครั้งโดยที่ยังไม่มีการส่งค่ามาจาก form (แต่คุณต้องการให้มันทำงานตอนส่งค่าเท่านั้น ใช่มั้ยล่ะ)
<?
$dsn = "web_database"; // กำหนดชื่อ DSN
$user =""; // กำหนดชื่อล็อกอิน
$pass =""; // กำหนดรหัสผ่าน
$connect = odbc_connect($dsn, $user, $pass) or die("ติดต่อ DSN ไม่ได้");
if(is_file($_FILES['file']['tmp_name'])){ // ???????? brows file
copy($_FILES['file']['tmp_name'],"file/".$_FILES['file']['name']);// ????upload ???????????? ??????? file
$filename=$_FILES['file']['name'];
}
if(isset($_POST['number'])){
$number=$_POST['number'];
$name=$_POST['name'];
$unit=$_POST['unit'];
$sql="insert into unit1 (number
, name, unit, address) values ('$number','$name','$unit','$filename')";
$result=odbc_exec($connect,$sql);
odbc_close($connect);
if($result){
echo "<script>alert('การเพิ่มข้อมูลเสร็จสมบูรณ์');</script>";
}else{
echo odbc_error();
echo "<script>alert('การเพิ่มข้อมูลผิดพลาด);</script>";
}
}
?>
เพิ่ม if เช็คการ isset ค่าเพื่อตรวจสอบว่ามีการส่งมาจาก form หรือเปล่า ถ้ามีการส่งมาจึงจะทำตรงนี้ ดังนั้น รอบแรกยังไม่มีการส่งมาจึงยังไม่ทำ นั่นเอง
คำว่า number สีแดง ตรงนั้นคือ ชื่อ field ที่คุณต้องเปลี่ยน เพราะเป็นคำสงวน (อย่าลืมต้องเปลี่ยนทั้งตรงนี้ และใน Database ด้วยนะ) 
|
 |
 |
 |
 |
Date :
11 ต.ค. 2549 22:28:25 |
By :
Ngokung |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$sql="insert into unit1 (number
, name, unit, address) values ('$number','$name','$unit','$filename')";
...... ตรงนี้ ให้มันอยู่บรรทัดเดียวกันไปเลยนะ เพียงแต่ต้องเปลี่ยนชื่อเท่านั้นเอง
|
 |
 |
 |
 |
Date :
11 ต.ค. 2549 22:30:07 |
By :
Ngokung |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เย้ๆๆๆๆๆ
upload ผ่านแล้วค่ะ
ต้องขอบคุณทุกคนมากนะคะ ขอบคุณจริงๆ เป็นพระคุณอย่างสูงค่ะ
|
 |
 |
 |
 |
Date :
12 ต.ค. 2549 08:45:37 |
By :
popo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|