我试图获取数组中的第一个元素并将其插入到mysql中,或者,如果数组为空,则显示一条消息,指出信息未知。我一直把这个数组变成字符串错误,而不是更新mysql。这就是我所拥有的
$phone_number_parser = preg_match_all("/([0-9]?[- .(]*[0-9]{3}[- .)][0-9]{3}[- .][0-9]{4})/", $result['adtext'], $phone_number);
var_dump($phone_number[0]);
//go to the next row
if (empty($phone_number))
{
$query2 = "UPDATE usedcars SET phonenumber = 'UNKNOWN' WHERE `key` = $x";
echo "<font color='#FF0000'>PHONE NUMBER UNKNOWN</font><br>";
mysqli_query($conn, $query2);
}
else
{
$query3 = "UPDATE usedcars SET phonenumber = ('$phone_number[0]') WHERE `key` = $x";
echo "<font color='#00FF00'>INSERTING NUMBER $phone_number[0] INTO DATABASE</font><br>";
mysqli_query($conn, $query3);
}
$x++;
}
我不仅得到此错误而且没有更新mysql值,显示消息显示来自query3的echo
数组是否为空。我在这里做错了什么?
答案 0 :(得分:1)
您正在比较错误的值。
var_dump($phone_number[0]);
//go to the next row
if (is_array($phone_number[0]) && count($phone_number[0]) == 0) // check if an array...
{
//..codes goes here...
}
else
{
$query3 = "UPDATE usedcars SET phonenumber = (' ".$phone_number[0][0]." ') WHERE `key` = $x";
echo "<font color='#00FF00'>INSERTING NUMBER $phone_number[0][0] INTO DATABASE</font><br>";
mysqli_query($conn, $query3);
}