MySqli无法正常工作

时间:2015-04-09 03:47:50

标签: php mysql mysqli

我的目标是收到2个字符串,一个IP和UUID,并查看数据库。如果UUID已经存在,则将IP添加到数据库中的IP列表中。如果没有,它会在数据库中使用该UUID和IP创建一个新行。目的是跟踪用户活动(没有恶意) 代码:

<?php

$cip = $_POST['ipaddr'];
$cid = $_POST['id'];

$conn = mysqli_connect('localhost', '*****', '*****', '*****');


$query = mysqli_query($conn, "SELECT * FROM sls WHERE asid='".$cid."'");

if(mysqli_num_rows($query) > 0){

$sql = "SELECT asid, ips FROM sls WHERE asid=$cid";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
$cipdata = $row["ips"];
} 
$sql = "UPDATE sls SET ips='$cipdata , $cip' WHERE id=2";
mysqli_query($conn, $sql); 

} else {
$sql = "INSERT INTO sls (asid, ips) VALUES ('$cid', '$cip')";
mysqli_query($conn, $sql); 
    }

?>

现在,无论UUID如何,它都会为每个IP添加一个新行。 我做错了什么?

- 编辑:修正了拼写错误,现在它只是添加了第一个IP,但之后不再添加到该行。

2 个答案:

答案 0 :(得分:1)

也许这一行有一个小错字:

$query = mysqli_query($con, "SELECT * FROM sls WHERE asid='".$cid."'");

你的意思是$conn,而不是$con?如:

$query = mysqli_query($conn, "SELECT * FROM sls WHERE asid='".$cid."'");

答案 1 :(得分:1)

您的连接参数是$ conn所以只在每个查询命令中使用它。一些你正在使用$ con和某个地方$ conn。

检查您的代码。