gpt4 book ai didi

PHP MySQL查询插入一致错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:59 24 4
gpt4 key购买 nike

//--------------------------------------------------------------------------
// php script for adding data from mysql database
//--------------------------------------------------------------------------

$ip = $_GET['ip']; //for debugging sake, will be POST from Ajax
$key = substr(md5(microtime()),rand(0,26),5); //random referral ID - will implement exist analysis
echo $ip; //debugging
$dbhost = 'localhost';
$dbuser = user;
$dbpass = 'pass';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);

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

mysql_select_db("database", $conn);
$tbl_name = "refs";
$sql="INSERT INTO $tbl_name(ip, key)VALUES('frfr', 'grgr')";

if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "1 record added";

我不确定这是我的 Digital Ocean 服务器还是什么,但我的 PhpMyAdmin 将接受作为查询的唯一语法是 INSERT INTOrefs(ip,key) VALUES ("insert","432")带有双引号的值。如果没有出现完全错误或“字段列表”错误中的未知列,我似乎无法在 PHP 中实现此功能。

类似的问题建议从复制粘贴中获取不可打印的垃圾字符,但是我已经在编辑器中重新输入了我的代码。感谢大家的帮助

顺便说一句,我正在创建一个基本的推荐系统,将请求的 IP 存储在带有键或 ID 的“refs”表中。

最佳答案

key 是保留字,因此需要使用 backtique 进行转义。除此之外,您还有间距问题。您的查询应如下所示

INSERT INTO refs(ip,`key`) VALUES ('insert','432')

永远不要使用保留字作为列名或表名。如果有疑问,则转义查询中存在的所有列。

开始引用MySQL Documentation 了解更多信息。这比在 stackoverflow 中将其作为问题发布要容易得多。

关于PHP MySQL查询插入一致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41119154/

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