ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: peetnawapol ที่ 02 กันยายน 2015, 15:25:05



หัวข้อ: [PHP] query แล้ว error แบบนี้ครับ +1
เริ่มหัวข้อโดย: peetnawapol ที่ 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:


หัวข้อ: Re: [PHP] query แล้ว error แบบนี้ครับ +1
เริ่มหัวข้อโดย: Nokky@# ที่ 02 กันยายน 2015, 15:45:27
ลองเช็คดูครับ

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

แล้ว charset นี้ตั้งใน my.cnf ดีกว่านะผมว่า


หัวข้อ: Re: [PHP] query แล้ว error แบบนี้ครับ +1
เริ่มหัวข้อโดย: ohmohm ที่ 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


หัวข้อ: Re: [PHP] query แล้ว error แบบนี้ครับ +1
เริ่มหัวข้อโดย: peetnawapol ที่ 03 กันยายน 2015, 12:01:20
sid เป็น primary key ครับ


หัวข้อ: Re: [PHP] query แล้ว error แบบนี้ครับ +1
เริ่มหัวข้อโดย: peetnawapol ที่ 03 กันยายน 2015, 19:08:50
 :wanwan011:


หัวข้อ: Re: [PHP] query แล้ว error แบบนี้ครับ +1
เริ่มหัวข้อโดย: ohmohm ที่ 10 กันยายน 2015, 18:33:21
มาคิดอีกที ถ้า Pk violation ไม่น่าเป็น error in your SQL syntax


หัวข้อ: Re: [PHP] query แล้ว error แบบนี้ครับ +1
เริ่มหัวข้อโดย: O.o!! ที่ 10 กันยายน 2015, 19:07:52

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

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



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

$title = $_POST["title"];

 $sql="REPLACE INTO site_os (SID, title, des, keys, favicon, google_anay ) VALUES ('' , $title )";