ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[PHP] query แล้ว error แบบนี้ครับ +1
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [PHP] query แล้ว error แบบนี้ครับ +1  (อ่าน 850 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
peetnawapol
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 1,292



ดูรายละเอียด
« เมื่อ: 02 กันยายน 2015, 15:25:05 »

ขึ้นแบบนี้ครับ
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near.....
นี่โค้ดครับ
อ้างถึง
function generateRandomString($length = 15) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}
      $photo=$_FILES['favicon']['tmp_name'];
      $photo_name=$_FILES['favicon']['name'];
      $photo_size=$_FILES['favicon']['size'];
      $photo_type=$_FILES['favicon']['type'];

      $name_last=explode(".", $photo_name);
      $n=count($name_last)-1;
      $lastname=strtolower($name_last[$n]);

      if($lastname=="gif" or $lastname=="png" or $lastname=="jpg" or $lastname=="jpeg") {
         $set_photo=explode(".", $photo_name);
         $pfname= "" .generateRandomString(). "_fp";
         $plname=$set_photo[1];
         $photoname=$pfname ."." .$plname;
         copy($photo, "../../uploads/" .$photoname);
         unlink($photo);

         $sql="REPLACE INTO site_os (SID, title, des, keys, favicon, google_anay ) VALUES ('' , '$_POST[title]', '$_POST[description]', '$_POST[keywords]', '$photoname', '$_POST[google_analytics]' )";
      } else {
        $sql="REPLACE INTO site_os (SID, title, des, keys, favicon, google_anay ) VALUES ('' , '$_POST[title]', '$_POST[description]', '$_POST[keywords]', '', '')";
      }
      $conn->set_charset("utf8");

      if (mysqli_query($conn, $sql)) {
      echo "success!";
      header("location:../index.php");
     
      } else {
      echo "Error: " . $sql . "<br>" . mysqli_error($conn);
      }
ช่วยหน่อยครับ  wanwan017
บันทึกการเข้า
Nokky@#
ก๊วนเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 216



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 02 กันยายน 2015, 15:45:27 »

ลองเช็คดูครับ

ผมว่า set_charset ไม่น่าจะอยู่ใน mysql_query ได้นะครับ
แนะนำว่าก่อนพิมพ์โค้ตในรันใน adminer ดูก่อนครับ

แล้ว charset นี้ตั้งใน my.cnf ดีกว่านะผมว่า
บันทึกการเข้า

ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,098



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 02 กันยายน 2015, 15:50:19 »

SID เป็น primary key ไหมครับ มันรันตัวเลขอัตโนมัติไหม
$_POST น่ามี sanitize เพื่อป้องกัน SQL injection ด้วยนะครับ (หรือบางที ถ้ามันมีอัญประกาศหรืออักษรที่มารบกวนอื่นๆ ก็อาจทำให้ SQL syntax ล่มได้)

ปล. อันนี้ใช้ insert http://www.thaiseoboard.com/index.php/topic,373502.0.html
บันทึกการเข้า
peetnawapol
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 1,292



ดูรายละเอียด
« ตอบ #3 เมื่อ: 03 กันยายน 2015, 12:01:20 »

sid เป็น primary key ครับ
บันทึกการเข้า
peetnawapol
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 1,292



ดูรายละเอียด
« ตอบ #4 เมื่อ: 03 กันยายน 2015, 19:08:50 »

 wanwan011
บันทึกการเข้า
ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,098



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 10 กันยายน 2015, 18:33:21 »

มาคิดอีกที ถ้า Pk violation ไม่น่าเป็น error in your SQL syntax
บันทึกการเข้า
O.o!!
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 237
ออฟไลน์ ออฟไลน์

กระทู้: 1,432



ดูรายละเอียด
« ตอบ #6 เมื่อ: 10 กันยายน 2015, 19:07:52 »


ปกติ แบบนี้น่ะครับ $_POST['title']    ไม่ใช่ $_POST[title]    ลืม ' ' ครับ

และอีกอย่างถ้าเอาไม่อยากสับสนกับพวก " ' ก็เอาไปเก็บไว้ในตัวแปรก่อนครับ แล้วจะได้ไม่ต้องซ่อน ' " ครับ  ผมเคยแก้จนปวดหัว -*-  Lips Sealed



 อะไรประมาณนี้ครับ

$title = $_POST["title"];

 $sql="REPLACE INTO site_os (SID, title, des, keys, favicon, google_anay ) VALUES ('' , $title )";
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์