[英]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.