gpt4 book ai didi

php - 在php中从数组中将数据插入mysql

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:44 25 4
gpt4 key购买 nike

我有一个数据库 test,表名 table 有两列 useremail。我的以下代码有什么问题?我无法将数组 $u 添加到我的数据库

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("test", $con);

$user = "safwan";
$email = "esafw@jdjd.com";

$u = array ( user => $user,
email => $email
);

$q = "INSERT INTO table VALUES ($u)";

mysql_query($q) OR die(mysql_error());

mysql_close($con);
?>

最佳答案

你有几个问题:

  1. 您正在尝试将一个数组直接插入到您的数据库中。您需要单独访问这些值。

  2. 您应该在字符串周围使用引号,包括当它们是数组中的键时

  3. 你需要了解SQL注入(inject)

  4. they will soon be going away. 起,您应该考虑从 mysql_* 函数中迁移出来

  5. table 是一个 MySQL 关键字,如果它实际上是表名则需要反引号

    $用户, '电子邮件'=> $电子邮件 ); $q = "INSERT INTO table (user, email) VALUES ('".mysql_real_escape_string($u['user'])."', '".mysql_real_escape_string($u['email'])."')"; mysql_query($q) 或 die(mysql_error()); mysql_close($con); ?>

或者:

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("test", $con);

$user = "safwan";
$email = "esafw@jdjd.com";

$q = "INSERT INTO table (user, email) VALUES ('".mysql_real_escape_string($user)."', '".mysql_real_escape_string($email)."')";

mysql_query($q) OR die(mysql_error());

mysql_close($con);
?>

关于php - 在php中从数组中将数据插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10721270/

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