• 0

رسالة خطأ في SQl :: SQLSTATE[42000]

سلام عليكم من فضلكم عندي مشكلة في الكود إذا ممكن تساعدوني في هذا الخطأ هذا الكود 


 $id     = $_POST['userid'];

      $user   = $_POST['username'];

      $email  = $_POST['email'];

      $name   = $_POST['full'];

     // update the database with info 



     $stmt = $con->prepare('UPDATE users SET Username = ?, Email=?, FullName=?, WHERE UserID=?');

     

     $stmt->execute(array($user,$email, $name,$id));

و هذه رسالة الخطأ 

Fatal error: Uncaught PDOException:
SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de 'WHERE UserID='1''
à la ligne 1 in
C:\wamp64\www\eCommerce\panelControl\members.php:111 Stack trace: #0
C:\wamp64\www\eCommerce\panelControl\members.php(111):
PDOStatement->execute(Array) #1 {main} thrown in C:\wamp64\www\eCommerce\panelControl\members.php on line 111

 

تمّ تعديل بواسطة Wael Aljamal
وضع الكود والخطأ ضمن محرر الكود + توضيح السؤال
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

تأكد أنه يوجد سجل ليوزر id الخاص به يساوي 1.

مثال: 

<?php 

$sql = "UPDATE users SET name=?, surname=? WHERE id=?";
$stmt= $pdo->prepare($sql);
$stmt->execute([$name, $surname, $id]);

?>

إذا بقيت المشكلة هل من الممكن إرفاق الكود في الملف كاملاُ.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

مرحبا مراد،

أعتقد أن المشكلة بسبب وجود , فاصلة قبل كلمة WHERE أرجو حذفها من عبارة SQL.

$stmt = $con->prepare('UPDATE users SET Username = ?, Email=?, FullName=?, WHERE UserID=?');
________________________________________________________________________^^^

بالتوفيق

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

السلام عليكم شكرا جزيلا لكم نعم المشكلة كانت في الفاصلة التي قبل where

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن