こんにちは、オブジェクト指向スタイルで mysqli を使用していると確信しているような基本的な問題を乗り越えようとして、多くの問題を抱えています。私は数多くのガイドに従い、php マニュアルを確認しました。しかし、mysqli で実行できる唯一のデータベース操作は、テーブルからデータを取得することです。登録ページを作成しようとしていますが、投稿データをデータベースに入れています。古いスタイルの msql_connect で何度もこれを実行しましたが、オブジェクト指向スタイルが私を悩ませています。これが私のコードです。
$db = new mysqli(info is all corrected as i tested database connectivity);
if ($db->connect_errno > 0){
die('unable to connect to database [' . $db->connect_error . ']');
}
else {
echo('conenction successful');
}
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$uname = $_POST['uname'];
$email = $_POST['email'];
$email1 = $_POST['emai1'];
$ad1 = $_POST['ad1'];
$ad2 = $_POST['ad2'];
$town = $_POST['town'];
$city = $_POST['city'];
$postcode = $_POST['postcode'];
$mphone = $_POST['mphone'];
$hphone = $_POST['hphone'];
$password ="hh";
if (!($stmt->$db->prepare("INSERT INTO `users` (`username`, `fname`, `lname`,
`password`, `email`, `address1`, `address2`, `town`,
`city`, `postcode`, `mphone`, `hphone`)
VALUES
(?,?,?,?,?,?,?,?,?,?,?,?)")))
{
echo "Prepare failed: (" . $db->errno . ")" . $db->error;
}
if (!$stmt->bind_param("ssssssssssii", $uname, $fname, $lname, $password, $email, $ad1, $ad2, $town, $city, $postcode, $mphone, $hphone))
{
echo "binding parameters failed: (" . $stmt->errno . ")" . $stmt->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
users テーブルのデータベース スキーマは次のとおりです。
CREATE TABLE `users` (
id
int(11) unsigned NOT NULL AUTO_INCREMENT、
username
varchar(10) NOT NULL DEFAULT ''、
fname
varchar(11) NOT NULL、
lname
varchar(11) NOT NULL、
password
varchar(50) NOT NULL DEFAULT ''、
email
varchar(40) NOT NULL DEFAULT '',
access
int(8) NOT NULL DEFAULT '1',
address1
varchar(50) DEFAULT NULL,
address2
varchar(50) DEFAULT NULL,
town
varchar(25) DEFAULT NULL,
city
varchar(20) DEFAULT NULL,
postcode
varchar(8) DEFAULT NULL,
mphone
int (11) DEFAULT NULL,
hphone
int(11) DEFAULT NULL,
salt
varchar(50) DEFAULT NULL, PRIMARY KEY ( id
) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
誰かが間違っているところを正しい方向に向けてください。