2017-06-04 18 views
0

このコードで何が間違っていますか?私は "ini_set( 'memory_limit'、 '-1');で解決しようとしました;"しかし動作しませんでした。私は私のものが無限ループだと思う。私のコラム投稿はわずか6行しかありません。許容メモリサイズ134217728 bytes exhausted

<?php 
$user = $_SESSION['login_username']; 
$db = mysqli_connect("localhost","stringdot","Ninja123","ddbase"); 
$query = "SELECT post FROM posts WHERE username = '$user' ORDER BY date_post DESC"; 
$result = mysqli_query($db,$query); 
$result = mysqli_fetch_assoc($result); 
$posts = array(); 

while($row = $result) { 
    $posts = $row['post']; 
} 

print_r ($posts); 

?>  
+0

でそれを解決することができますか?私はあなたがforEachループをここではループ内で決して変更しない2つの値のwhileループではないと思っています。 – itsundefined

+0

あなたはSQLインジェクションに満足していると思います –

+0

私のdisertationプロジェクトです...私はセキュリティを持たずにサイトを作って、私はそれを保障し、違いについて書きます...そうです...今はSQLインジェクションに満足しています – StringShot

答えて

2

問題はここ

while($row = $result) { 

を生まれている条件$row = $resultは割り当てです

ではなく$row

mysql_fetch_array($result)各ループで$resultを置くことができるよう、この割り当ては常にtrueになります割り当てが成功しなかった場合は次の値をとります

あなたは$行と$結果値を変更している。この

while($row = mysql_fetch_array($result)) { 
    $posts = $row['post']; 
} 
+0

ありがとうございました! – StringShot

関連する問題