gpt4 book ai didi

php - 从表单写入数据库

转载 作者:行者123 更新时间:2023-11-29 00:28:59 25 4
gpt4 key购买 nike

我有以下一段代码,用于在名为“client”数据库“smsmart”的表中编写一个输入表单,该表包含字段名称、地址和电话

<?php

define ('DB_USER', 'root');
define ('DB_PASSWORD', '');
define ('DB_HOST', 'localhost');
define ('DB_NAME', 'smsmart');

$link = mysql_connect('localhost', 'root', '');

if (!$link) {
die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db("smsmart");

if (!$db_selected) {
die('Can\'t use ' . smsmart . ': ' . mysql_error());
}

$value1 = $_POST['username'];
$value2 = $_POST['address'];
$value3 = $_POST['mobileno'];

$sql = "INSERT INTO client (name,address,phone) VALUES ('$value1', '$value2', '$value3')";

mysql_close();
?>

表单中的“用户名”、“地址”和“mobileno”字段未写入数据库。我做错了什么?

最佳答案

看起来您正在生成 $sql 查询但没有执行它。鉴于您的 $_POST 输入缺乏卫生,您可能应该使用参数或 PDO 方法来保护自己免受潜在的 SQL 攻击。

这是一个基于参数的 mySQLi 插入的例子。

// connect to the database
$dbConnection = mysqli_connect("localhost", "root", "", "smsmart");
// prepare statement
$stmt = mysqli_prepare($dbConnection, "INSERT INTO client (name,address,phone) VALUES (?,?,?)");
// bind parameters
mysqli_stmt_bind_param($stmt, "sss", $value1, $value2, $value3);
// execute statement
mysqli_stmt_execute($stmt);
// close statement
mysqli_stmt_close($stmt);
// close database connection
mysqli_close($link);

关于php - 从表单写入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17500733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com