[英]how to store form data in mysql using php
我運行以下代碼,但它顯示的不是將數據存儲到 mysqldb 中的數組值。
<?php
if(! empty( $_POST)){
print_r($_POST);exit;
$mysqli = new mysqli('localhost', 'root','','mydb');
if($mysqli->connect_error){
die('connect error:'. $mysqli->connect_errno .':' . $mysqli->connect_error);
}
}
?>
注冊.php:
<?php
require('db.php');
$conn=mysqli_connect("localhost","root","");
$name = $_POST['name'];
$name1 = $_POST['skill'];
$name2= $_POST['exp'];
$name3 = $_POST['sele'];
$sql = "INSERT INTO register VALUES('".$name."','".$name1."','".$name2."','".$name3."')";
$insert = $mysqli->query($conn,$sql);
echo $insert;
?>
在瀏覽器中獲取數組結果
連接對象已經定義 - $mysqli
。 為什么又是$conn
? 做就是了 -
$sql = "INSERT INTO register VALUES('".$name."','".$name1."','".$name2."','".$name3."')";
$insert = $mysqli->query($sql);
如果您使用procedural
方法,則需要$conn
。
只需替換: $insert = $mysqli->query($conn,$sql);
和:
$insert = $mysqli->query($sql);
讓我們從頭開始。
$fields = ["name", "skill", "exp", "sele"];
$params = [];
foreach($fields as $field) {
if(!isset($_POST[$field])) {
exit("Field required: $field");
}
$params[":$field"] = $_POST[$field];
}
$pdo = new PDO("mysql:host=localhost;dbname=database", 'username', 'password');
$sth = $pdo->prepare('
INSERT INTO register VALUES(:name, :skill, :exp, :sele);
');
$sth->execute($params);
如果你仍然想堅持使用 mysqli ...
$fields = ["name", "skill", "exp", "sele"];
$params = [];
foreach($fields as $field) {
if(!isset($_POST[$field])) {
exit("Field required: $field");
}
$params[":$field"] = $_POST[$field];
}
$mysqli = new mysqli('localhost','username','password','database');
$query = $mysqli->prepare('
INSERT INTO register VALUES(?, ?, ?, ?);
');
call_user_func_array(array($query, "bind_param"), $params);
$query->execute();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.