فشل الخلية الاستعلام على سلامة انتهاك القيد
سؤال
ويحتفظ هذا الاستعلام فشل مع
<اقتباس فقرة>والنزاهة انتهاك القيد: 1048 العمود 'LOGIN_NAME "لا يمكن أن تكون لاغية
اقتباس فقرة>وبيان إدراج بلدي ...
$insertUserQuery = 'INSERT INTO `users` (
`login_name`,
`password`,
`first_name`,
`last_name`,
`company_name`,
`company_address`,
`country`,
`email`,
`phone_number`,
`agency_type`,
`sold_before`,
`authorised`,
`current_module`
)
VALUES (
:login_name, :login_password, :first_name, :last_name, :company_name, :company_address, :country, :email, :phone_number, :agency_type, :sold_before, 0, 0);';
$bindings = array(':login_name' => $loginName,
':login_password' => sha1($password . Config::PASSWORD_SALT),
':first_name' => $firstName,
':last_name' => $lastName,
':company_name' => $companyName,
':company_address' => $companyAddress,
':country' => $country,
':email' => $emailAddress,
':phone_number' => $phone,
':agency_type' => null,
':sold_before' => null
);
print_r($bindings);
Db::query($insertUserQuery, $bindings);
ويمكن الاطلاع على الطبقة قاعدة البيانات الخاصة بي <لأ href = "https://stackoverflow.com/questions/617646/is-this-wrapper-for-pdo-good-code-are-there-any-potential-problems" > في سؤال آخر . وprint_r()
يقول لي أن مجموعة بالتأكيد له قيمة.
قد كان لها أن تفعل شيئا معي استخدام كلمة 'كلمة السر' الذي هو أيضا وظيفة الخلية؟
أعدتهل يدعم PDO البيانات مع INSERT بنفس الطريقة كما هو الحال مع SELECT؟
هل أنا بحاجة إلى أن أقتبس حول القيم، مثلا ': LOGIN_NAME'
المحلول
ولا يدعم PDO::query
جملة بيان معد يفعل ذلك؟ العطاء شركة تنمية نفط عمان :: إعداد و <لأ href = "HTTP: / /us.php.net/manual/en/pdostatement.execute.php "يختلط =" نوفولو noreferrer "> PDOStatement :: تنفيذ للقراءة. وربما كنت تريد شيئا مثل:
$insertUserQuery = 'INSERT INTO `users` (`login_name`, ...) ' .
'VALUES (:login_name, ...);';
$bindings = array(':login_name' => $loginName, ...);
$stmt = Db::prepare($insertUserQuery);
$stmt->execute($bindings);
ويمكنك أيضا استدعاء $stmt->bindValue()
بدلا من بناء مجموعة من الارتباطات. أعتقد أن ملزم صراحة كل قيمة أجمل قليلا حيث يمكنك التحقق من أنواع هناك.
وتحرير: آسف jcinacio، لم أكن أرى أن تعليقك كان متطابقة تقريبا حتى بعد أن نشرت