在MySQL插入语句中使用php变量

时间:2011-11-04 13:57:45

标签: php mysql

我正在使用以下语句,但不确定如何正确获取语句中的$variables

mysql_query("INSERT INTO subscribers (email, referral_id, user_id, ip_address)
             VALUES ('$user_email', '$user_refer', '$user_share', '$_SERVER['REMOTE_ADDR']')");

6 个答案:

答案 0 :(得分:10)

只需更改最后一个:

mysql_query("INSERT INTO subscribers (email, referral_id, user_id, ip_address)
VALUES ('$user_email', '$user_refer', '$user_share', '".$_SERVER['REMOTE_ADDR']."')");

答案 1 :(得分:6)

在字符串中使用数组类型时(双引号“”表示php将解析该字符串),您必须将要使用的值括在大括号中,即

mysql_query("INSERT INTO subscribers (email, referral_id, user_id, ip_address)
         VALUES ('$user_email', '$user_refer', '$user_share', '{$_SERVER['REMOTE_ADDR']}')");

答案 2 :(得分:1)

虽然在评论的链接中回答了字面问题,但您遇到的真实问题与SQL无关,而是与PHP字符串语法无关。因此,这里有一个链接供您参考:http://php.net/types.string

此页面是您必须了解的有关PHP的最重要的事项 你应该努力学习它,否则即使是像这样的大多数简单任务你都无法使用PHP。

答案 3 :(得分:0)

你应该有点不同。使用

您还可以查看主题a sql command why it shows an error?

与现在的情况相比,它有点不同,但更安全。

答案 4 :(得分:0)

像这样使用:

mysql_query("INSERT INTO subscribers (email, referral_id, user_id, ip_address)
             VALUES ('".$user_email."'…

答案 5 :(得分:0)

做你想做的最安全的方法不是这个:

mysql_query("INSERT INTO subscribers (email, referral_id, user_id, ip_address)
         VALUES ('$user_email', '$user_refer', '$user_share', '$_SERVER['REMOTE_ADDR']')");

这样做:

$ query =“INSERT INTO订阅者(email,referral_id,user_id,ip_address)              VALUES('$ user_email','$ user_refer','$ user_share','{$ _SERVER ['REMOTE_ADDR']}')“

请注意$ _SERVER变量内索引周围的花括号。如果要在超全局中包含索引,则最好使用大括号。否则,按照他人的建议使用连接。