gpt4 book ai didi

php - MySQL插入查询请求资源

转载 作者:行者123 更新时间:2023-11-29 08:32:58 25 4
gpt4 key购买 nike

我正在 xampp 上运行以下代码(完美安装)。我已经用 mysqli 替换了 mysql 并重新排列了查询(先连接,稍后插入语句),但一切都无济于事。请帮忙。

错误:警告:mysql_query() 期望参数 2 为资源,第 19 行 C:\xampp\htdocs\test.php 中给出的字符串

<?php


$hname = "localhost";
$username = "root";
$password = "";
$db = "test";

$connect = mysql_connect($hname, $username, $password, $db);


if ($connect) {
echo "Connected to Database <br /> <br />";

$ins = "INSERT INTO 'test'.'testtable' (name) VALUES ('james')";

//mysql_select_db ($connect, "users");

if (mysql_query("INSERT INTO 'test'.'testtable' (name) VALUES ('james')", "mysql_connect($hname, $username, $password, $db)")) {
echo "Values Entered Successfully. Your Account was created";
} else {
echo "Your Account was not created";

}

} else {
echo "Failed to Connect :(";
}

?>

最佳答案

"mysql_connect($hname, $username, $password, $db)" 不应包含在引号中。您想要调用该函数并将结果作为参数传递,而不是传递字符串。

但是您确实应该将其作为单独的语句调用,以便您可以检查错误:

$con = mysql_connect($hname, $username, $password) or die ("Could not connect to DB: ".mysql_error());
mysql_select_db($db, $con);

mysql_query("INSERT INTO 'test'.'testtable' (name) VALUES ('hunaid')", $con);

代码的另一个问题是 mysql_query 的成功并不表明是否插入了任何行,它只是表明查询在语法上是有效的。您需要调用mysql_affected_rows()来找出插入了多少行。

你真的不应该使用 mysql 扩展,它们已被弃用。您应该使用 mysqli 或 PDO。这将允许您使用准备好的语句,以避免 SQL 注入(inject)问题。

关于php - MySQL插入查询请求资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16032249/

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