|
|
|
ช่วยอธิบายcodeทีค่ะ เพิ่งเริ่มศึกษาเอง แล้วไม่ค่อยเข้าใจค่ะ |
|
|
|
|
|
|
|
$stmt = $mysqli->stmt_init();
$stmt->prepare($sql);
$p = [0, $email, $psw, $fname, $lname, $phone, $province];
$stmt->bind_param('issssss', ...$p);
$stmt->execute();
ช่วยอธิบายส่วนนี้ทีค่ะ ถ้าอธิบายโค้ดที่แปะไว้ทั้งหมดจะขอบพระคุณมากเลยค่ะ ศึกษาเองแล้วไม่เข้าใจจริงๆ
Code (PHP)
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$email = $_POST['email'];
$psw = $_POST['psw'];
$fname = $_POST['firstname'];
$lname = $_POST['lastname'];
$phone = $_POST['phone'];
$province = $_POST['province'];
//จัดเก็บข้อมูลลงในตาราง
$mysqli = new mysqli('localhost', 'root', '', 'home');
$sql = 'INSERT INTO member VALUES (?, ?, ?, ?, ?, ?, ?)';
$stmt = $mysqli->stmt_init();
$stmt->prepare($sql);
$p = [0, $email, $psw, $fname, $lname, $phone, $province];
$stmt->bind_param('issssss', ...$p);
$stmt->execute();
$err = $stmt->error;
$aff_rows = $stmt->affected_rows;
$insert_id = $mysqli->insert_id;
$stmt->close();
$mysqli->close();
if ($err || $aff_rows != 1) {
$msg = 'การสมัครสมาชิกเกิดข้อผิดพลาด<br>อีเมลที่ระบุอาจถูกใช้แล้ว';
$contextual = 'alert-danger';
echo <<<HTML
<div class="alert $contextual alert-dismissible">
$msg
<button class="close" data-dismiss="alert" aria-hidden="true">×</button>
</div>
HTML;
} else {
$_SESSION['member_id'] = $insert_id;
$_SESSION['member_name'] = $fname;
//header('location: member-signin.php');
echo '<script> location.href = "member-signin.php"; </script>';
exit;
}
}
?>
Tag : PHP
|
|
|
|
|
|
Date :
2020-07-12 13:58:56 |
By :
maka |
View :
1061 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$stmt = $mysqli->stmt_init(); // สร้าง object ที่เป็นเครื่องมือในการ query;
$stmt->prepare($sql); // ส่ง sql statement ให้กับ object เพื่อตรวจสอบ ไวยกรณ์ เบื้องต้น
//$p = [0, $email, $psw, $fname, $lname, $phone, $province]; // ตรงนี้ ไม่น่าจะถูก
//$stmt->bind_param('issssss', ...$p); // คำสั่ง bind_param ไม่ได้มี รูปแบบตามนี้
// รูปแบบที่ใช้ ที่ถูกต้อง
$stmt->bind_param('issssss', 0, $email, $psw, $fname, $lname, $phone, $province );
$stmt->execute(); // สั่งดำเนินการ
https://www.php.net/manual/zh/mysqli-stmt.bind-param.php
|
|
|
|
|
Date :
2020-07-12 15:16:52 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากมาย เพิ่งรู้ว่า php ใช้แบบนี้ได้ด้วย
เมื่อก่อนหาแทบตาย ไม่ยักกะเจอ จะทำอย่างไร ส่ง array เข้า function ที่เป็น parameter
|
|
|
|
|
Date :
2020-07-12 15:55:57 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|