簡體   English   中英

無法使用PHP找出程序化MySQL預備語句錯誤

[英]Cannot Figure out Procedural MySQL Prepared Statement error using PHP

我是PHP和MySQL的新手。 我的服務器具有MySQL 5.6版本。 我正在使用過程性語句(不是PDO,不是OO)。 這是我正在開發的網站上的PHP頁面,供用戶創建新帳戶。 奇怪的是,錯誤消息是在實際頁面本身( https://mywebsite.com/create_account.php )上返回的,而不是在服務器上的錯誤日志中返回的。

*這是我收到的錯誤消息:*

錯誤:在用戶中插入INSERT INTO用戶(用戶名,密碼,名字_名字,名字_姓氏,地址_1,地址_2,城市,州,郵政編碼,電子郵件地址,電話號碼,姓名_卡片,card_number_main,card_number_ccv,card_expire_mo,card_expire_yr)VALUES(?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,? 查看與您的MySQL服務器版本相對應的手冊以獲取正確的語法以在'?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?附近使用) '

*這是生成錯誤消息的我的代碼:*

//
// Insert data into database
//

$sql = "INSERT INTO users (username, password, name_first, name_last, address_1, address_2, city, state, zip_code, email_address, phone_number, name_on_card, card_number_main, card_number_ccv, card_expire_mo, card_expire_yr) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_bind_param($stmt, "ssssssssssssssss", $param_username, $param_password, $param_name_first, $param_name_last, $param_address_1, $param_address_2, $param_city, $param_state, $param_zip_code, $param_email_address, $param_phone_number, $param_name_on_card, $param_card_number_main, $param_card_number_ccv, $param_card_expire_mo, $param_card_expire_yr);
$param_username = $username;
$param_password = $password;
$param_name_first = $name_first;
$param_name_last = $name_last;
$param_address_1 = $address_1;
$param_address_2 = $address_2;
$param_city = $city;
$param_state = $state;
$param_zip_code = $zip_code;
$param_email_address = $email_address;
$param_phone_number = $phone_number;
$param_name_on_card = $name_on_card;
$param_card_number_main = $card_number_main;
$param_card_number_ccv = $card_number_ccv;
$param_card_expire_mo = $card_expire_mo;
$param_card_expire_yr = $card_expire_yr;
mysqli_stmt_execute($stmt);

我已閱讀該手冊,但提示錯誤消息卻無濟於事。 非常感激任何的幫助。 謝謝。

變量聲明綁定stmt后移動?

<?php

$sql = "INSERT INTO users (username, password, name_first, name_last, address_1, address_2, city, state, zip_code, email_address, phone_number, name_on_card, card_number_main, card_number_ccv, card_expire_mo, card_expire_yr) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = mysqli_prepare($link, $sql);

$param_username = $username;
$param_password = $password;
$param_name_first = $name_first;
$param_name_last = $name_last;
$param_address_1 = $address_1;
$param_address_2 = $address_2;
$param_city = $city;
$param_state = $state;
$param_zip_code = $zip_code;
$param_email_address = $email_address;
$param_phone_number = $phone_number;
$param_name_on_card = $name_on_card;
$param_card_number_main = $card_number_main;
$param_card_number_ccv = $card_number_ccv;
$param_card_expire_mo = $card_expire_mo;
$param_card_expire_yr = $card_expire_yr;


mysqli_stmt_bind_param($stmt, "ssssssssssssssss", $param_username, $param_password, $param_name_first, $param_name_last, $param_address_1, $param_address_2, $param_city, $param_state, $param_zip_code, $param_email_address, $param_phone_number, $param_name_on_card, $param_card_number_main, $param_card_number_ccv, $param_card_expire_mo, $param_card_expire_yr);
mysqli_stmt_execute($stmt);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM