简体   繁体   English

列为空时不匹配

[英]column doesnt match when its empty

How should i solve this?我应该如何解决这个问题? there is not a row 1 and i cant insert or update data.没有第 1 行,我无法插入或更新数据。 Unique keys are indeed ip and uid in my table.我的表中的唯一键确实是 ip 和 uid。

My code is as follows:我的代码如下:

//Retrive listeners per reload
echo 'Data H&ouml;gan&auml;s <br>';
$sc="http://USER:PWD@SUB.SERVER.se:10000/admin.cgi?sid=1&mode=viewxml&page=3";
$xml2 = simplexml_load_file($sc);
foreach ($xml2->LISTENERS->LISTENER as $listener2) {

// Create connection
$conn = new mysqli($host, $user, $pwd, $db);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = " insert INTO hoganaskey
        (ip, uid, tid, starttid, date)
    VALUES
        ('$listener2->HOSTNAME', '$listener2->UID', '$listener2->CONNECTTIME', '$listener2->USERAGENT', '$starttid', '$date')
    on duplicate key
        update tid='$listener2->CONNECTTIME' ";

//$sql = "INSERT INTO hoganaskey (ip, uid, tid, ua, starttid, date) VALUES('$listener2->HOSTNAME', '$listener2->UID', '$listener2->CONNECTTIME', '$listener2->USERAGENT' '$starttid', '$date') ON DUPLICATE KEY UPDATE tid='$listener2->CONNECTTIME' ";

if ($conn->query($sql) === TRUE) {
  echo "New record created successfully";
} else {
  echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

} //End foreach SHOUcast listener

Im returning this error in insert "Column count doesn't match value count at row 1".我在插入“列数与第 1 行的值计数不匹配”中返回此错误。

In your insert query, you listed only 5 field names:在您的插入查询中,您只列出了 5 个字段名称:

(ip, uid, tid, starttid, date)

but you are passing 6 values not 5:但是您传递的是 6 个值而不是 5 个:

('$listener2->HOSTNAME', '$listener2->UID', '$listener2->CONNECTTIME', '$listener2->USERAGENT', '$starttid', '$date')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM