ทำฟอร์มอัพโหลดรูปภาพตาม "PHP สร้างฟอร์มสำหรับ Upload รูปภาพลงในฐานข้อมูล MySQL พร้อมกับแบบ Form สำหรับการแก้ไขรูปภาพ" บนโฮสไม่ได้ค่ะ
Code (PHP)
$objQuery = mysql_query($strSQL) or die(mysql_error());
ลองแบบนี้ดูครับ
Date :
2011-08-30 17:14:56
By :
webmaster
ถ้าไม่ได้ยัดรูปลงใน ดาต้าเบส folder ปรับเป็น 777 อย่าลืมตรงนี้ครับ
ส่วนถ้ายัดรูปเข้าไป ลองดู code ผมแล้วกัน มี 2 แบบ
แต่ก่อนจะไป 2 แบบ
เห็นใน code คุณไม่ได้ใส่ enctype="multipart/form-data" ผมไม่รู้ว่ามันได้หรือเปล่าถ้าไม่มีมัน
Code (PHP)
<form method="post" name="frmMain" id="frmMain" action="typeroom.php" enctype="multipart/form-data">
ส่วนอันนี้ ทั้งสองแบบของผม
แบบแรกที่ ปิดไว้
ส่วนแบบที่สอง ที่ไม่ได้ ปิดไว้ $pic_data
Code (PHP)
/*
$fp = fopen($_FILES["filUpload"]["tmp_name"],"r");
$ReadBinary = fread($fp,filesize($_FILES["filUpload"]["tmp_name"]));
@fclose($fp);
$pic_data= addslashes($ReadBinary);
*/
@copy($filUpload,$filUpload_name);
$pic_size = filesize($filUpload_name);
$pic_data = addslashes(fread(fopen($filUpload_name,"r"),$pic_size));
$strSQL = "INSERT INTO roomtype ";
$strSQL .= "(id_roomtype,name_roomtype, ";
$strSQL .= "price_roomtype,rowtype,pic) ";
$strSQL .= "VALUES ";
$strSQL .= "('".$_POST['iduser']."','".$_POST['user']."', ";
$strSQL .= "'".$_POST['price']."','".$_POST['at']."', ";
$strSQL .= "'".$pic_data."') ";
$objQuery = mysql_query($strSQL);
<form method="post" name="frmMain" id="frmMain" action="typeroom.php" enctype="multipart/form-data">
<input type="file" name="filUpload" id="filUpload" disabled="true">
</form>
Date :
2011-08-30 17:26:35
By :
vissarud
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"imageyipc/".$_FILES["filUpload"]["name"]))
{
echo "Copy/Upload Complete<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("root","horo","root");
$objQuery = mysql_query($strSQL) or die(mysql_error());
$objDB = mysql_select_db("tbl1");
$strSQL = "INSERT INTO files ";
$strSQL .="(name,pic,detail) VALUES ('".$_POST["txtName"]."','".$_FILES["filUpload"]["name"]."','".$_POST["detail"]."')";
$objQuery = mysql_query($strSQL);
}
?>
<a href="PageUploadToMySQL3.php">View files</a>
</body>
</html>
ทำเหมือน webmaster แนะนำ มันขึ้น
Copy/Upload Complete
Query was empty
แต่ไปเช็คในดาต้าเบสว่างเปล่าค่ะ
แต่ที่คุณ vissarud ถามมาว่าไม่เห็น <form method="post" name="frmMain" id="frmMain" action="typeroom.php" enctype="multipart/form-data"> มันอยู่อีกหน้านึงค่ะหน้าฟอร์มแล้วแอคชั่นมาหน้าที่เอาโค๊ตมาให้ดูเพื่อบันทึกลงดาต้าเบสค่ะแต่มันติดตรงมันบันทึกไม่ได้ค่ะแต่ในจำลองเซิร์ฟเวอร์ได้ค่ะและก็ไม่ขึ้นเออเร่อสคริปค่ะอย่างน้อยถ้าโฟเดอร์รูปไม่เปิด 777 แต่ข้อมูลที่เป็นเท็กที่บันทึกลงดาต้าเบสก็หน้าจะเข้าบ้างค่ะ
ขอบคุณค่ะสำหรับคำแนะนำ
Date :
2011-08-30 18:05:23
By :
มือใหม่
โอ้ จริง ๆ ด้วย
Date :
2011-08-31 06:27:06
By :
webmaster
ผิดตรงนี้ครับ ดูในบทเรียนใหม่นะ
$objConnect = mysql_connect("root","horo","root"); ที่พี่ PlaKriM แจ้งมาว่าผิดตรงนี้หนูแค่ยกตัวอย่างมาให้ดูเฉยๆค่ะ ที่จริง $objConnect = mysql_connect("localhost","root","root"); หนูคอนเนคได้อยู่ค่ะถ้าทำในจำลอเิซิฟเวอร์ไม่มีปัญหาตรงนี้ค่ะทำตามบทเรียนแต่พอเอาไปขึ้นโฮสมันบันทึกไม่ลงค่ะทั้งที่เปลี่ยนตัว connection ไปที่โฮสแล้วค่ะแต่โค๊ตก็เหมือนบทเรียนค่ะ แต่ไม่ได้ก็ไม่เป็นไรเด่วลองหาทางอีกทีค่ะ
ขอบคุณค่ะสำหรับคำตอบ
Date :
2011-08-31 10:09:32
By :
มือใหม่
$objConnect = mysql_connect("localhost","root","root");
เอาแบบนี้ขึ้นโฮสเลย หรือเปลี่ยนเป็นแบบไหน ครับ
Date :
2011-08-31 10:28:17
By :
ikikkok
ตอนแรกเอาแบบนี้ขึ้นค่ะ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
echo "Copy/Upload Complete<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("61.19.248.126","test","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("tbl1");
$strSQL = "INSERT INTO files ";
$strSQL .="(Name,FilesName) VALUES ('".$_POST["txtName"]."','".$_FILES["filUpload"]["name"]."')";
$objQuery = mysql_query($strSQL);
}
?>
<a href="PageUploadToMySQL3.php">View files</a>
</body>
</html>
กดซับมิสแล้ว มันขึ้นคำสั่ง View files ข้อมูลไม่เข้าฐานค่ะแล้วคุณwin แนะนำให้ลองแบบนี้ดู $objQuery = mysql_query($strSQL) or die(mysql_error()); หนูก็เลยเอาไปแทรกแบบนี้ค่ะ แล้วก็โยนขึ้นไปใหม่แล้วทดสอบดู
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"imageyipc/".$_FILES["filUpload"]["name"]))
{
echo "Copy/Upload Complete<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("61.19.248.126","test","1234");
$objQuery = mysql_query($strSQL) or die(mysql_error());
$objDB = mysql_select_db("tbl1");
$strSQL = "INSERT INTO files ";
$strSQL .="(name,pic,detail) VALUES ('".$_POST["txtName"]."','".$_FILES["filUpload"]["name"]."','".$_POST["detail"]."')";
$objQuery = mysql_query($strSQL);
}
?>
<a href="PageUploadToMySQL3.php">View files</a>
</body>
</html>
มันขึ้นข้อความแบบนี้ค่ะ
Copy/Upload Complete
Query was empty
แต่ไปเช็คในดาต้าเบสว่างเปล่าค่ะ
แต่ไม่ลงฐานในฐานข้อมูลก็ไปสร้างฟิวเหมือนในบทเรียนค่ะแต่เพิ่มฟิว detail เข้าไปด้วย เฉยๆ ค่ะ แต่เอาโค๊ตในบทเรียนไปทำในตัวจำลองเซิฟเวอร์ได้ปกติค่ะไม่มีปัญหาหนูเลยเปลี่ยนชื่อดาตาต้าเบสไอพีดาต้าเบสแล้วโยนขึ้นโฮสโฟเดอร์เก็บรูปก็ตั้งตามที่เขียนไว้ในพาสตามโค๊ดข้างบนแต่ไม่ได้ค่ะแต่มาทำในตัวจำลองเซิฟเวอร์ได้ค่ะ
Date :
2011-08-31 11:28:08
By :
มือใหม่
Code (PHP)
//*** Insert Record ***//
$objConnect = mysql_connect("root","horo","root");
$objQuery = mysql_query($strSQL) or die(mysql_error()); // ตรงนี้ Empty แน่นอนครับ
$objDB = mysql_select_db("tbl1");
Date :
2011-08-31 11:54:46
By :
ikikkok
แล้วต้องทำงัยค่ะมีวิธีมั๊ยค่ะถ้าไม่มีไม่เป็นไรเด่วจะลองหาวิธีดูอีกทีค่ะถามดูเผื่อมีวิธีแก้
Date :
2011-08-31 13:13:58
By :
มือใหม่
ถ้าเป็นผมนะ ผมจะทดลองก่อน เปลี่ยนค่าใน ดาต้าเบส เป็น null แล้วก็ บันทึกเป็นค่าเข้าไปพอให้รู้ว่า code บันทึกไม่ผิด
หลังจากนั้น ก็คอยมาทำการบันทึกรูป จะได้รู้เฉพาะจุดไปครับ ผิดตรงไหนแก้ตรงนั้นครับ จะได้หมดปัญหาเรื่อง connect database ด้วย
Date :
2011-08-31 13:26:38
By :
vissarud
ขอบคุณทุกคำแนะนำค่ะได้แล้วค่ะขอบคุณค่ะ
Date :
2011-08-31 17:17:37
By :
มือใหม่
ไม่ทราบว่าแก้ตรงไหนถึงทำได้ครับ ช่วยบอกทีครับ
Date :
2012-01-09 14:51:58
By :
PP
Load balance : Server 03