尝试在这行代码中获取somones ip adres时出错:
$sql="INSERT INTO cre (Ipadres)
VALUES
('$_SERVER["REMOTE_ADDR"]')";
有人有解决方案吗?
完整代码:
<?php
$con=mysqli_connect("localhost","user","pass","db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO cre (Ipadres)
VALUES
('ih')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
?>
<script>
window.history.back()
</script>
<?php
mysqli_close($con);
?>
一切都很好,但是, 然后第二个问题,如何检查值是否已经在数据库中:3
答案 0 :(得分:1)
您可以使用:
$sql="INSERT INTO cre (Ipadres)
VALUES
('{$_SERVER['REMOTE_ADDR']}')";
详细了解此处:http://www.php.net/manual/en/language.types.string.php
从那里:
带字符串的任何标量变量,数组元素或对象属性 可以通过此语法包含表示。简单地写一下 表达式与字符串外部的表达方式相同,并且 然后将其包装在{和}中。
为了使它更清晰(更好的设计和其他),你可以这样写:
$sql="INSERT INTO cre (Ipadres)
VALUES
('" . $_SERVER['REMOTE_ADDR'] . "')";
答案 1 :(得分:0)
正确的答案是:
$sql="INSERT INTO cre (Ipadres) VALUES ('".$_SERVER["REMOTE_ADDR"]."')";
答案 2 :(得分:0)
双引号内不能有双引号。
您需要连接字符串或转义引号:
$sql="INSERT INTO cre (Ipadres)
VALUES
(' " . $_SERVER["REMOTE_ADDR"] . "')";
希望这有帮助!