2017-03-01 16 views
0

記事をピックアップして編集するための正しいコードはどのように見えるでしょうか?私はそれをやろうとしているが、まだ()期待していたパラメータ1がmysqli_resultするために、文字列で与えられた。あなたは、単にmysqli_fetch_assoc($query)代わりのmysqli_fetch_assoc($sql)使用する必要があります記事を取得して編集しようとしています

<?php 
$db = mysqli_connect("localhost", "root", "root", "maturita"); 
if(isset($_GET['edit_art'])) 
{ 
    $sql="SELECT * FROM articles WHERE id_art='{$_GET['id_edit']}'"; 
    $query=mysqli_query($db, $sql); 

    while($log = mysqli_fetch_assoc($sql)): 
     $subject = $log["subject"]; 
     $text = $log["text"]; 

?> 
<div class="content2"> 
<div class="content title1"> 
Edit Article 
</div> 
<div class="content backgrounded"> 
<form action="#" method="post">   
<table> 
    <tr> 
    <td>Subject: </td><td><input class="subject form form3" type="text" name="subject"><?php $subject; ?></input></td> 
    </tr> 
    <td>Text: </td><td><textarea name="text" rows="5" cols="51"><?php echo $text; ?></textarea></td> 
    </tr> 
    <tr> 
    <td><input type="submit" class="button button5" name="submit" value="Submit"/></td> 
    </tr> 
    </table> 
</form> 
</div> 
</div> 
<?php endwhile;}?> 

答えて

1

mysqli_fetch_assocを取得しています。

は、直接SQL文に$_GET$_POSTまたは$_REQUESTから挿入内容は、代わりにプレースホルダとのプリペアドステートメントを使用しないでください。

Btw。コード部分"SELECT * FROM articles WHERE id_art='{$_GET['id_edit']}'"は正しいものであり、GETパラメーターでサブミットされた場合にのみ単一のqoutが追加されます。これはWHERE id_art='" . $_GET['id_edit'] . "'";でも発生します。詳細については、PHPマニュアルを参照してください。http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double

関連する問題