如果变量不是空的,如何在sql中更新项目?

时间:2017-03-27 05:55:04

标签: php sql

我从解析器中获取变量。

如果变量$ desc为空 - 我的请求就会停止,但我需要传递它。

这是我的代码部分。

$desc = $description->plaintext;
if(!empty($desc)) {
    $query = "UPDATE snowcore_parser_products SET description = 'blabla' WHERE remote_id = '" . $dataId . "';";
} else {
    $query = "UPDATE snowcore_parser_products SET description = 'EMPTY' WHERE remote_id = '" . $dataId . "';";
}
$sql = mysqli_query($db, $query);

但是如果(!empty($ desc))没有工作

2 个答案:

答案 0 :(得分:2)

试试这个

$desc = $description->plaintext;
if(count($desc)>0) {
     $query = "UPDATE snowcore_parser_products SET description = 'blabla' WHERE  remote_id = '" . $dataId . "';";
} else {
    $query = "UPDATE snowcore_parser_products SET description = 'EMPTY' WHERE remote_id = '" . $dataId . "';";
}
$sql = mysqli_query($db, $query);

答案 1 :(得分:2)

你确定$ desc是空的,请注意你的空格或换行符不会让它变空。通过调试或var_dump()检查值。如果有空格或换行符,你可以使用trim()。

$desc = trim($description->plaintext);
if(!empty($desc)) {
$query = "UPDATE snowcore_parser_products SET description = 'blabla' WHERE remote_id = '" . $dataId . "';";
} else {
$query = "UPDATE snowcore_parser_products SET description = 'EMPTY' WHERE remote_id = '" . $dataId . "';";
}
$sql = mysqli_query($db, $query);