使用mysqli插入php地址

时间:2014-01-27 17:42:54

标签: php mysqli

尝试在这行代码中获取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

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"] . "')";

希望这有帮助!