###前提・実現したいこと
検索フォームからカラムの値を入力し、その値のカラムが含まれているレコードを取得する検索システムをphpで作りたいと思っています
###発生している問題・エラーメッセージ
書き方が間違っているというのはわかるのですが、どのように書き直したらよいかわからず詰まってしまいました
[25-May-2017 16:57:10 Asia/Tokyo] PHP Parse error: syntax error, unexpected '; ' (T_STRING) in /var/www/html/hira_test.php on line 23
###該当のソースコード
<!DOCTYPE html> <html> <form method="get" action="hira_test.php"> <p><input type="text" name="id11"><input type="submit" name="search" value="検索"></p> </form> </html> <?php $dsn ='mysql:dbname=kadai7;host=xxxxx;charset=utf8'; $user = 'xxxxxx'; $password = 'xxxxx'; if(isset($_GET['search'])){ $keyword = $_GET['keyword']; $keyword = htmlspecialchars($keyword, ENT_QUOTES); if($keyword !==''){ $dbh = new PDO($dsn, $user, $password); $dbh->query('SET NAMES utf8'); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); //エラーが出ているのがこのセレクト文です $spl = "SELECT id11, id22, let FROM new_kadai7 WHERE $keyword"; $stmt = $dbh->prepare($sql); $stmt->bindValue(1, $keyword, PDO::PARAM_STR); $stmt->execute(); $dbh = nu;;; while($item = $stmt->fetch(PDO::FETCH_ASSOC)){ echo $item["id11"]; echo $item["id22"]; echo $item["let"]; } } } ?>
###試したこと
試した書き方は以下のとおりです。whereの条件としてフォームから受け取った値をどのように指定すればいいのかわかりません。
ご教授いただけませんでしょうか
$spl = 'SELECT id11, id22, let FROM new_kadai7 WHERE $_GET['keyword']';
$spl = 'SELECT id11, id22, let FROM new_kadai7 WHERE '$_GET['keyword']'';
$spl = "SELECT id11, id22, let FROM new_kadai7 WHERE '$_GET['keyword']'";
$spl = "SELECT id11, id22, let FROM new_kadai7 WHERE {$_GET['keyword']}";
$spl = 'SELECT id11, id22, let FROM new_kadai7 WHERE {$_GET['keyword']}';
回答2件
あなたの回答
tips
プレビュー