PHP选择信息


PHP select information

我有麻烦从我的数据库获取信息。它需要从用户选择头像。如果avatar = NULL, avatarcode = <a href="user.php?u='.$log_username.'"><img id="profile" src="img/user.png"></a>,否则,avatarcode = <a href="user.php?u='.$log_username.'"><img id="profile" src="user/'.$log_username.'/'.$avatar.'"></a>

$sql = "SELECT avatar FROM users";
$query = mysqli_query($db_conx, $sql);
$avatarcode = "";
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    $avatar = $row["avatar"];
    if ($avatar = NULL) {
        $avatarcode = '<a href="user.php?u='.$log_username.'"><img id="profile" src="img/user.png"></a>';
    } else {
        $avatarcode = '<a href="user.php?u='.$log_username.'"><img id="profile" src="user/'.$log_username.'/'.$avatar.'"></a>';
    }
}

PHP中的比较永远不能使用一个"等于"号,而应该使用两个或三个"等于"号(推荐使用,因为类型安全比较不会出现意外)。

if ($avatar === NULL) {

不要将空数据库字符串值与null比较,将其与空字符串""比较

和比较两个等号==

一个等号用于赋值

如果值实际上是null而不是空字符串比较is_null($avatar)$value === NULL

你可以让你的列为null

ALTER TABLE `users` CHANGE `avatar` `avatar` VARCHAR(11) NULL;

如果未提供的头像是空字符串,请使用:

if ($avatar == "") {

或者如果没有提供头像为null

if (is_null($avatar)) {