2016-05-16 87 views
-2

这里是我的代码故障mysqli_fetch_assoc()预计参数1被mysqli_result,布尔给

if(isset($_POST['uploadimg'])){ 
move_uploaded_file($_FILES['file']['tmp_name'], "uploade_profileim/".$_FILES['file']['name']); 
$conn = mysqli_connect("localhost", "root", "", "IMDstagram"); 
$query = mysqli_query($conn, "UPDATE users SET profileimage = '". $_FILES['file']['name']."'WHERE username = '". $_SESSION['loggedIn']."'"); 
} 


$conn = mysqli_connect("localhost", "root", "", "IMDstagram"); 
$query = mysqli_query($conn, "SELECT * FROM users WHERE username = :username"); 
while ($row = mysqli_fetch_assoc($query)){ 
    if ($row['image'] == "") { 
     echo "<img src='//placeholdit.imgix.net/~text?txtsize=9&txt=100%C3%97100&w=100&h=100' class='avatar img-circle' alt='avatar'>"; 
    }else{ 
     echo "<img src 'uploaded_profileimg/".$row['profileimage']."' class='avatar' alt='profile_image'"; 
    } 
} 

?> 

有人可以看到我在做什么错?我不是PHP英雄。这是一个学校项目。我必须创建一个编辑profilepicture框。

+6

你忘了绑定':username'!并且不要连接两次! – Saty

+0

我如何绑定用户名? –

+0

你需要使用'prepare statement'而不是'mysqli_query'。阅读http://php.net/manual/en/mysqli-stmt.bind-param.php和http://php.net/manual/en/mysqli.prepare.php – Saty

回答

-2

您的代码应该是这样的

if(isset($_POST['uploadimg'])){ move_uploaded_file($_FILES['file']['tmp_name'], "uploade_profileim/".$_FILES['file']['name']); $conn = mysqli_connect("localhost", "root", "", "IMDstagram"); $query = mysqli_query($conn, "UPDATE users SET profileimage = '". $_FILES['file']['name']."'WHERE username = '". $_SESSION['loggedIn']."'"); } 


    $conn = mysqli_connect("localhost", "root", "", "IMDstagram"); 
$query = mysqli_query($conn, "SELECT * FROM users WHERE username = '". $_SESSION['loggedIn']."'"); 
while ($row = mysqli_fetch_assoc($query)){ 
     if ($row['image'] == "") { 
      echo "<img src='//placeholdit.imgix.net/~text?txtsize=9&txt=100%C3%97100&w=100&h=100' class='avatar img-circle' alt='avatar'>"; 
     }else{ 
      echo "<img src 'uploaded_profileimg/".$row['profileimage']."' class='avatar' alt='profile_image'"; 
     } } 

    ?> 

您忘记了用户会话... :)

+0

OP是* sooo关闭*以正确使用准备好的语句...不要将它们还原为SQL注入倾向性解决方案。 – deceze

+0

检查谢谢你的工作。 –

相关问题