لا يمكنني معرفة اين الخطاء ؟!

اقوم بتعلم ادخال البيانات عن طريق pdo

عندما اقوم بادخال البيانات تظهر الرسالة الشرطية الاولي انه تم ادخال البيانات و لكن عند الرجوع الي قاعدة البيانات اجد انه لم يتم ادخالها

<?php

$name_host = ("mysql:host = localhost,dbname = one");

$db_server = "root";

$paw = "";

$conns = new PDO($name_host,$db_server,$paw); $query = $conns->prepare("INSERT INTO bro(id, prochct_name, price, discription_pro) VALUES ('24','bro52','200','855')"); $query->execute(); if($query){ echo " YES Insert In To The Data"; } else { echo "No ";

}

?>

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

Omarhdad2 أضف ردا

الأعمدة التي نوعها رقمي أي من نوع integer مثل ( price و id) يكون الرقم ليس بداخل كوتشن أي أنك تكوم بتخزين القيم كأرقام وهذا يعني بدل القيمة '24 ' الخاصة ب الid تكون 24 بدون علامة التنصيص هذه ('') ,ونفس الشىء ل price يجب أن تزيل علامة التنصيص للقيمة 200 وذلك لأن علامة التنصيص خاصة بالأعمدة التي من نوع نص أي مثل (varchar,char) .

مثال :

;("(stmt = $conn->prepare("INSERT INTO MyGuests (id, price ) VALUES ( 24, 200

مرحبا،

في حال وجود أخطاء في كتابة SQL يمكنك تنفيذها مباشرة على الConsole الخاص بها و اختبارها على حدى ثم وضعها مع شيفرة PHP للتأكد من حصر أماكن الأخطاء أثناء تطويرك لأي شيفرة برمجية.

بالنسبة للحقول لا نستخدم التنصيص إلا مع القيم النصية varchar أما الرقمية نتركها كما هيint, float, double.

وأسماء الأعمدة نكتبها كما هي بدون أي إشارات تنصيص مثال:

$query= $con->prepare('SELECT name, color, calories FROM fruit WHERE calories < 50');

وعليك الانتباه أن علامة التنصيص ' تختلف عن ` . وهل الحقل procht_name أم تقصد شيئ آخر؟

بطبيعة الحال في حال تداخل نوعين من النصوص نضع الاقتباس الثنائي بالخارج " " و نضع فيها النصوص ضمن اقتباشش وحيد "select from student where name = 'john' ";