私はフリータイムにPHP Pastebin-esqueプロジェクトに取り組んで、PHPとサーバー管理を学びました。私はたくさんの問題を抱えています。それらを解決することができました。私はこれまでに収集した情報を自分のもとで一からやり直すことに決め、このコードを一緒に投げました。私はこのコードで実現しようとしている何
<?php
require 'connection.php';
$getid = $_GET["id"];
$sql = 'SELECT paste FROM pasteinfo WHERE id=:id';
$stmt = $con->prepare($sql);
$stmt->bind_param(':id', trim($_GET["id"], PDO::PARAM_INT));
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['paste'];
}
?>
は、ユーザーが、彼らはURLで見ることに興味を持っているとそれがpasteinfo行を表示していどんなペーストのIDを入力することができるシステムで、どのペースト自体を保持する行です。彼らが持っているフォーマットはviewpaste.php?id =(ユーザ入力)です。
このコードを修正するにはどうすればよいですか?私はあなたがコメントを入れてしまう可能性のあるコードを説明してもらえれば幸いです。ありがとう!
PDOまたはmysqliのは言います? http://php.net/manual/en/pdostatement.bindparam.php!= http://php.net/manual/en/mysqli-stmt.bind-param.phpまた使い方は逆です: '$ sth- > bindParam( ':カロリー、$カロリー、PDO :: PARAM_INT); '。 'execute'は' $ stmt-> execute(); 'のような関数です。あるいは、あなたは '$ stmt-> execute(array( ':id' => trim($ _ GET [" id "])));'を実行するだけでバインドすることができます(これはタグ付きPDOであり、 – chris85
追加の注意点として、あなたはインデックスを決して埋めることがないように 'id'を選択しないでください。 'echo $ row ['paste'];'。アップデートごとに 'bind_param'は間違っていますが、PDOリンクを見てください。 – chris85
@ chris85これらすべての変更を行い、OPのコードを更新しましたが、何も得られません。エコーはおそらく異なった形式か何かをフォーマットする必要がありますか? –