アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHP+SQLite、SQL文の中のWHERE に変数を使いデーターを取り出したいのですが上手く行きません。
コード
$dbh = new PDO("sqlite:データーベース名",null,null);          データーベース接続
if (isset($_POST["submit名"])) {                    submitname
$変数 = $_POST["変数"];                       変数に代入
   $sql = "SELECT * FROM テーブル名 WHERE カラム名 ='$変数'";  SQL文
$sth = $dbh->prepare($sql);
$sth->execute();
while ($row = $sth->fetch()) {
     $変数 = $row["変数"];
     echo "<p>$変数</p>";
}
echo "";
}
3列目の変数に代入までは来ているのですがSQL文の所から止まってしまいechoで表示が出来ません。
$sql = "SELECT *以降を色々変えてみたのですが上手く行きません。
過去の質問も参考にし試したのですがやはりだめでした。
親切な方、ご教授お願いいたします。

A 回答 (3件)

このやり方は、文字列として表示するという意味です。


echo "<p>$id-$name-$tel</p>";
つまりこう書きます。
echo "<p>".$id."-".$name."-".$tel."</p>";
    • good
    • 0
この回答へのお礼

lockon985さん、
バッチリでした。
誠にありがとうございます。
ベストアンサーに選ばせていただきます。

お礼日時:2017/02/06 21:08

すみません。

シングルクォートをつけ忘れていました。
$sql = "SELECT * FROM テーブル名 WHERE カラム名 ='".$変数."'";
これはできますか。
    • good
    • 0
この回答へのお礼

変数に代入まではできているのですがその後の
while ($row = $sth->fetch()) {
$id=$row["id"];
$変数 = $row["変数"];
$name=$row["name"];
$tel=$row["tel"];
}
echo "<p>$id-$name-$tel</p>";
のechoが表示できていませんです。

お礼日時:2017/02/05 18:41

$sql = "SELECT * FROM テーブル名 WHERE カラム名 =".$変数;


ではないでしょうか。
    • good
    • 0
この回答へのお礼

$sql = "SELECT * FROM テーブル名 WHERE カラム名 =".$変数; だとエラー表示で
Fatal error: Call to a member function execute() on a non-object in C:\xampp\htdocs\BASE\php\select.php on line 22 っと出てしまいます。
ちなみに on line 22 は $sth = $dbh->prepare($sql); の列になります。
他にも色々試したのですがやはり上手く行きませんでした。

お礼日時:2017/02/05 01:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!