• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ステートメントが必要です。???)

ステートメントが必要です

このQ&Aのポイント
  • ステートメントが必要な理由について教えてください
  • ブログの更新処理において、一番下の}にステートメントが必要な理由が分かりません
  • ステートメントが必要な箇所について詳細を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

>接続失敗SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for $host failed: ���̂悤�ȃz�X�g�͕s���ł��B ひとまずさ^^日本語出るエディター使おうぜ! で、これは、大本のMySQLソケットを開くときに 指定した、アドレスがね~ぞ!って怒ってる。 恐らくだけど、XAMPPならでない。 SELINUXを踏んだとは思うが。 =今のLinuxは、なぜそれが必要なのか? のマニフェストをしっかしさせないと、トラップ踏むことになる。 ただ、前は動いたんでしょ? 前のソースに戻せば治ります!。 そんだけ。

kouzou250
質問者

お礼

ご回答誠にありがとうございます。 今、opensuseを使っていません。 Windows10に戻りました。 やはり、全部、転記しないとファイル間で矛盾が 出るようです。 新しく質問させていただきました。 ご面倒でなければ、その質問をご覧願います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

最後に、インジェクションに全く考慮されてないソースなので、 このDB、誰でも簡単にぶっ壊せますので、ご注意を^^ $this->table_nameもし、この変数に "1; delete from テーブル名;" を挿入されたらどんな結果になるか? または、 $stmt->bindValue(':id', $blogs['id'], PDO::PARAM_INT); このIDは、おそらく外部から生で取り込んだ即値だと思いますが。 なら、悪意を持った人が1~10000位で、ループでIDを回したら、 その後、このDBどうなるか?を考えればわかります。 簡単に吹っ飛びますね。 $sql = "UPDATE $this->table_name SET title = :title, content = :content, category = :category, publish_status = :publish_status せっかく":title"などの挿入変数を使ってるなら、 $this->table_nameこいつも同じにして、 $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); これらで、stmt=ステートメントの略にバインドしたほうが いいんじゃないかなと思いますけどね。 などなどが、今回気になった点でしたわ。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

なお、PHPStormでこれを貼り付けると自動的にこうなります。 馬鹿でもわかるほど簡単に 最後に「必要:}」と書かれてる通りで、 これがエラーだよ!日本語で教えてくれます。 なので、ツールをまずまともにしましょう。 この程度の事は、ツールが直すもので人間が悩むなんて、 ナンセンスですので。 なお、こちらのPHPStormは色をかなりカスタマイズしてるので、 そちらでは、真っ黒で正しいですが。 あと、 $sql=...の所、これエディタの改行コードにかなり依存しているので、 可能ならやめた方がいい!。見てる資料がそうなっていたとしても、 それが正しいとは誰も言ってない!。 CRLFでソースを書けば、ここに、勝手に\r\nが挿入されてるのですよ。 なので、全く同じソースで動いたり動かなかったりと、面倒の種になります。 (これは今回の件とは別ですが、ドットチェーンをお勧めします)

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

まず、ソースを整形しましょ~よ! >下記のコードの一番下の}にステートメントが必要です で、こちらで整形してみたところ「これは、正しいソース」だとの事。 しかしそちらで、エラーというのであれば、 $this->table_name これがヒントになりそう!(この文自体は、どうでもいい$thisがある事が重要) としたら、このソースがclass内のmethodなんじゃね~の?と 予測をつける癖をつけてください。 だとしたら、 class a { ここが正しいソースになってるよ! } ってことなんじゃないか?と目星をつけてみてください。 としたら、もう答えはわかったと思いますが。 class a { ここが正しいソースになってるよ! } ←これはあるのか? ってのを言ってるんじゃないかと。

kouzou250
質問者

お礼

ご回答誠にありがとうございます。 直していくと、localhost/index.php で下記の様に表示されました。 これは大変なエラーですか? 度々申し訳ございません。 教えてください。 宜しくお願い申し上げます。 接続失敗SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for $host failed: ���̂悤�ȃz�X�g�͕s���ł��B

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • biginTransaction();でエラー??

    いつも大変お世話になり誠にありがとうございます。 私は、おっしゃる通り、理解しながらやっていないです。 でも、自分なりに理解できるところは為になっております。 皆様のおかげです。 標記の件。 エラーメッセージは ( ! ) Fatal error: Uncaught Error: Call to undefined method PDO::biginTransaction() in /srv/www/htdocs/blog.php on line 30 ( ! ) Error: Call to undefined method PDO::biginTransaction() in /srv/www/htdocs/blog.php on line 30 です。 どう直せばいいでしょうか? どうか教えてください。 宜しくお願い申し上げます。      記 <?php require_once('dbc.php'); class Blog extends Dbc { protected $table_name = 'blog'; //カテゴリー名を表示 //引数:数字 //返り値:カテゴリーの文字列 public function setCategoryName($category) { if ($category == '1') { return '日常'; } elseif ($category == '2') { return '非日常'; } else { return 'その他'; } } public function blogCreate($blogs) { $sql = "INSERT INTO blog(title,content,category,publish_status) VALUES (:title, :content, :category, :publish_status)"; $dbh = $this->dbConnect(); $dbh->biginTransaction(); try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], PDO::PARAM_INT); $stmt->bindValue(':publish_status', $blogs['publish_status'], PDO::PARAM_INT); $stmt->bindValue(':id', $blogs['id'], PDO::PARAM_INT); $stmt->execute(); $stmt->commit(); echo 'ブログを投稿しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } function blogUpdate($blogs) { $sql = "UPDATE $this->table_name SET title = :title, content = :content, category = :category, publish_status = :publish_status Where id = :id"; $dbh = dbConnect(); $dbh->biginTransaction(); try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], PDO::PARAM_INT); $stmt->bindValue(':publish_status', $blogs['publish_status'], PDO::PARAM_INT); $stmt->bindValue(':id', $blogs['id'], PDO::PARAM_INT); $stmt->execute(); $stmt->commit(); echo 'ブログを更新しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } } function blogUpdate($blogs){ } //ブログのバリデーション function blogValidate($blogs) { if (empty($blogs['title'])) { exit('タイトルを入力してください。'); } if (mb_strlen($blogs['title']) > 191) { exit('タイトルは191文字以下にしてください。'); } if (empty($blogs['content'])) { exit('本文を入力してください。'); } if (empty($blogs['category'])) { exit('カテゴリーは必須です。'); } if (empty($blogs['publish_status'])) { exit('公開ステータスは必須です。'); } } } } ?>

    • ベストアンサー
    • PHP
  • コードの終端にエラー???php

    いつもお世話になり誠にありがとうございます。 標記の件。 エラーメッセージは次です。 ( ! ) Parse error: syntax error, unexpected end of file in /srv/www/htdocs/blog.php on line 98 コードは97行になります。 どうか教えてください。 アドバイスを宜しくお願い申し上げます。      記 <?php require_once('dbc.php'); class Blog extends Dbc { protected $table_name = 'blog'; //カテゴリー名を表示 //引数:数字 //返り値:カテゴリーの文字列 public function setCategoryName($category) { if ($category == '1') { return '日常'; } elseif ($category == '2') { return '非日常'; } else { return 'その他'; } } public function blogCreate($blogs) { $sql = "INSERT INTO blog(title,content,category,publish_status) VALUES (:title, :content, :category, :publish_status)"; $dbh = $this->dbConnect(); $dbh->biginTransaction(); try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], PDO::PARAM_INT); $stmt->bindValue(':publish_status', $blogs['publish_status'], PDO::PARAM_INT); $stmt->bindValue(':id', $blogs['id'], PDO::PARAM_INT); $stmt->execute(); $stmt->commit(); echo 'ブログを投稿しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } function blogUpdate($blogs) { $sql = "UPDATE $this->table_name SET title = :title, content = :content, category = :category, publish_status = :publish_status Where id = :id"; $dbh = dbConnect(); $dbh->biginTransaction(); try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], PDO::PARAM_INT); $stmt->bindValue(':publish_status', $blogs['publish_status'], PDO::PARAM_INT); $stmt->bindValue(':id', $blogs['id'], PDO::PARAM_INT); $stmt->execute(); $stmt->commit(); echo 'ブログを更新しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } } function blogUpdate($blogs){ } //ブログのバリデーション function blogValidate($blogs) { if (empty($blogs['title'])) { exit('タイトルを入力してください。'); } if (mb_strlen($blogs['title']) > 191) { exit('タイトルは191文字以下にしてください。'); } if (empty($blogs['content'])) { exit('本文を入力してください。'); } if (empty($blogs['category'])) { exit('カテゴリーは必須です。'); } if (empty($blogs['publish_status'])) { exit('公開ステータスは必須です。'); } } ?>

    • ベストアンサー
    • PHP
  • try{}catchでエラー???

    いつもお世話になり誠にありがとうございます。 標記の件。 エラーメッセージが Parse error: syntax error, unexpected token "=" in C:\xampp\htdocs\blog_create.php on line 32 stmt = $dbh->prepare($sql); の=が予期しないトークンと書かれています。 どう調べればいいのでしょうか? アドバイスをください。 宜しくお願い申し上げます。     記 <?php require_once('dbc.php'); $blogs = $_POST; if (empty($blogs['title'])) { exit('タイトルを入力してください。'); } if (mb_strlen($blogs['title'])>191) { exit('タイトルは191文字以下にしてください。'); } if (empty($blogs['content'])) { exit('本文を入力してください。'); } if (empty($blogs['category'])) { exit('カテゴリーは必須です。'); } if (empty($blogs['publish_status'])) { exit('公開ステータスは必須です。'); } $sql = 'INSERT INTO blog(title,content,category,publish_status) VALUES (:title, :content, :category, :publish_status)'; $dbh = dbConnect(); try { stmt = $dbh->prepare($sql); stmt->bindValue(':title',$blogs['title'],PDO::PARAM_STR); stmt->bindValue(':content',$blogs['content'],PDO::PARAM_STR); stmt->bindValue(':category',$blogs['category'],PDO::PARAM_INT); stmt->bindValue(':publish_status',$blogs['publish_status'],PDO::PARAM_INT); stmt->execute(); } catch(PDOException $e){ exit($e); } ?>

    • ベストアンサー
    • MySQL
  • $dbh = dbConnect();

    いつもお世話になりありがとうございます。 標記の件。 エラーになります。 どう直せばいいでしょうか? エラーメッセージは Fatal error: Uncaught Error: Call to undefined function dbConnect() in C:\xampp\htdocs\blog_create.php:9 Stack trace: #0 {main} thrown in C:\xampp\htdocs\blog_create.php on line 9 です。 コーディングは下記です。 <?php //require_once('form.html'); require_once('blog.php'); $sql = "INSERT INTO table_name(name,title,category,content) VALUES (:name, :title, :category, :content,)"; $dbh = dbConnect(); $dbh->beginTransaction(); try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':id', $blogs['id'], PDO::PARAM_INT); $stmt->bindValue(':name', $blogs['name'], PDO::PARAM_STR); $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], PDO::PARAM_STR); $stmt->bindValue(':post_at', $blogs['post_at'], PDO::PARAM_INT); $stmt->execute(); $stmt->commit(); echo 'ブログを投稿しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } blog.php <?php //require_once('dbc.php'); //<?php //class Dbc //{ // protected $table_name; //protected function dbConnect() //{ $dsn = 'mysql:host=localhost;dbname=blog_app;charset=utf8'; $user = 'blog_user'; $pass = 'rhythm0!KT'; try { $dbh = new \PDO($dsn, $user, $pass, [ \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, ]); } catch (PDOException $e) { echo '接続失敗' . $e->getMessage(); exit(); }; return $dbh; //} function getAll() { $dbh = $this->dbConnect(); //①SQLの準備 $sql = "SELECT * FROM $this->table_name"; //②SQLの実行 $stmt = $dbh->query($sql); //③SQLの結果を受け取る $result = $stmt->fetchall(\PDO::FETCH_ASSOC); return $result; $dbh = null; } $dbh = $this->dbConnect(); $sql = "SELECT * FROM $this->table_name"; $stmt = $dbh->prepare("SELECT * FROM $this->table_name Where id = :id"); $stmt->bindValue(':id', (int)$id, \PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetch(\PDO::FETCH_ASSOC); if (!$result) { exit('本文がありません。'); } return $result; //} //function blogCreate($blogs) { $sql = 'INSERT INTO blog(title, content, category, publish_status) VALUES (:title, :content, :category, :publish_status)'; $dbh = $this->dbConnect(); $dbh->biginTransaction; try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':title', $blogs['title'], \PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], \PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], \PDO::PARAM_INT); $stmt->bindValue(':publish_status', $blogs['publish_status'], \PDO::PARAM_INT); $stmt->execute(); $dbh->commit(); echo 'ブログを投稿しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } } function delete($id) { if (empty($id)) { exit('idが不正です。'); } $dbh = $this->dbConnect(); $stmt = $dbh->prepare("DELETE FROM $this->table_name Where id = :id"); $stmt->bindValue(':id', (int)$id, \PDO::PARAM_INT); $stmt->execute(); echo 'ブログを削除しました!'; return $result; } //} ?> 度々申し訳ございません。 教えてください。 ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • this->何故?エラー???

    いつもお世話になりありがとうございます。 標記の件。 26行目がどうしてもエラーになります。 エラーメッセージは Fatal error: Uncaught Error: Undefined constant "this" in C:\xampp\htdocs\dbc.php:26 Stack trace: #0 C:\xampp\htdocs\index.php(4): Dbc->getAll() #1 {main} thrown in C:\xampp\htdocs\dbc.php on line 26 です。 度々申し訳ございません。 アドバイスの程、宜しくお願い申し上げます。      記 <?php class Dbc { protected $table_name; private function dbConnect() { $dsn = 'mysql:host=localhost;dbname=blog_app;charset=utf8'; $user = 'blog_user'; $pass = 'rhythm0!KT'; try { $dbh = new PDO($dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]); } catch (PDOException $e) { echo '接続失敗' . $e->getMessage(); exit(); }; return $dbh; } public function getAll() { $dbh = this->dbConnect();  ★ここが26行目 //①SQLの準備 $sql = "SELECT * FROM this->$table_name"; //②SQLの実行 $stmt = $dbh->query($sql); //③SQLの結果を受け取る $result = $stmt->fetchall(PDO::FETCH_ASSOC); return $result; $dbh = null; } public function setCategoryName($category) { if ($category == '1') { return '日常'; } elseif ($category == '2') { return '非日常'; } else { return 'その他'; } } public function getById($id) { if (empty($id)) { exit('idが不正です。'); } $dbh = this->dbConnect(); $stmt = $dbh->prepare("SELECT * FROM this->$table_name Where id = :id"); $stmt->bindValue(':id', (int)$id, PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); if (!$result) { exit('本文がありません。'); } return $result; } public function blogCreate($blogs) { $sql = 'INSERT INTO blog(title, content, category, publish_status) VALUES (:title, :content, :category, :publish_status)'; $dbh = this->dbConnect(); $dbh->biginTransaction; try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], PDO::PARAM_INT); $stmt->bindValue(':publish_status', $blogs['publish_status'], PDO::PARAM_INT); $stmt->execute(); $dbh->commit(); echo 'ブログを投稿しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } } } ?>

    • ベストアンサー
    • PHP
  • SELECT文でエラー???何故でしょうか???

    いつも大変お世話になり誠にありがとうございます。 標記の件。 ファイルが多いので、他の箇所に誤りがあるかもしれません。 エラーメッセージは Fatal error: Uncaught Error: Object of class Blog could not be converted to string in C:\xampp\htdocs\dbc.php:55 Stack trace: #0 C:\xampp\htdocs\detail.php(4): Dbc->getById('1') #1 {main} thrown in C:\xampp\htdocs\dbc.php on line 55 です。 度々申し訳ございません。 アドバイスの程、宜しくお願い申し上げます。      記 <?php class Dbc { protected $table_name; protected function dbConnect() { $dsn = 'mysql:host=localhost;dbname=blog_app;charset=utf8'; $user = 'blog_user'; $pass = 'rhythm0!KT'; try { $dbh = new PDO($dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]); } catch (PDOException $e) { echo '接続失敗' . $e->getMessage(); exit(); }; return $dbh; } public function getAll() { $dbh = $this->dbConnect(); //①SQLの準備 $sql = "SELECT * FROM $this->table_name"; //②SQLの実行 $stmt = $dbh->query($sql); //③SQLの結果を受け取る $result = $stmt->fetchall(PDO::FETCH_ASSOC); return $result; $dbh = null; } public function setCategoryName($category) { if ($category == '1') { return '日常'; } elseif ($category == '2') { return '非日常'; } else { return 'その他'; } } public function getById($id) { if (empty($id)) { exit('idが不正です。'); } $dbh = $this->dbConnect(); $stmt = $dbh->prepare("SELECT * FROM $this->$table_name Where id = :id"); ★ここが55行目です! $stmt->bindValue(':id', (int)$id, PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); if (!$result) { exit('本文がありません。'); } return $result; } public function blogCreate($blogs) { $sql = 'INSERT INTO blog(title, content, category, publish_status) VALUES (:title, :content, :category, :publish_status)'; $dbh = $this->dbConnect(); $dbh->biginTransaction; try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], PDO::PARAM_INT); $stmt->bindValue(':publish_status', $blogs['publish_status'], PDO::PARAM_INT); $stmt->execute(); $dbh->commit(); echo 'ブログを投稿しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } } } ?>

    • ベストアンサー
    • PHP
  • ブログサイト。2つのソースコードをご覧ください。

    いつも大変お世話になり誠にありがとうございます。 標記の件。 YouTubeを参考にブログサイトに挑戦しております。 YouTubeの説明がレベルが高く、またファイルの遷移が早いので、 私自身、訳解らなくなっています。 必死に転記しました。 しかし、どうしてもエラーが出ます。 もうギブアップしようかなと思いましたが、ぶしつけな質問ですが、皆様に教えを乞うと思いました。 参考サイトを勉強しましたがあまり役に立たないと思いました。 2つのファイルのソースコードを提示します。 また添付はそこから詳細をクリックすると次のように エラーになります。 Fatal error: Uncaught Error: Object of class Blog could not be converted to string in C:\xampp\htdocs\dbc.php:55 Stack trace: #0 C:\xampp\htdocs\detail.php(4): Dbc->getById('1') #1 {main} thrown in C:\xampp\htdocs\dbc.php on line 55      記 dbc.php <?php class Dbc { protected $table_name; protected function dbConnect() { $dsn = 'mysql:host=localhost;dbname=blog_app;charset=utf8'; $user = 'blog_user'; $pass = '**********'; try { $dbh = new PDO($dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]); } catch (PDOException $e) { echo '接続失敗' . $e->getMessage(); exit(); }; return $dbh; } public function getAll() { $dbh = $this->dbConnect(); //①SQLの準備 $sql = "SELECT * FROM $this->table_name"; //②SQLの実行 $stmt = $dbh->query($sql); //③SQLの結果を受け取る $result = $stmt->fetchall(PDO::FETCH_ASSOC); return $result; $dbh = null; } public function setCategoryName($category) { if ($category == '1') { return '日常'; } elseif ($category == '2') { return '非日常'; } else { return 'その他'; } } public function getById($id) { if (empty($id)) { exit('idが不正です。'); } $dbh = $this->dbConnect(); $stmt = $dbh->prepare("SELECT * FROM $this->$table_name Where id = :id"); $stmt->bindValue(':id', (int)$id, PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); if (!$result) { exit('本文がありません。'); } return $result; } public function blogCreate($blogs) { $sql = 'INSERT INTO blog(title, content, category, publish_status) VALUES (:title, :content, :category, :publish_status)'; $dbh = $this->dbConnect(); $dbh->biginTransaction; try { $stmt = $dbh->prepare($sql); $stmt->bindValue(':title', $blogs['title'], PDO::PARAM_STR); $stmt->bindValue(':content', $blogs['content'], PDO::PARAM_STR); $stmt->bindValue(':category', $blogs['category'], PDO::PARAM_INT); $stmt->bindValue(':publish_status', $blogs['publish_status'], PDO::PARAM_INT); $stmt->execute(); $dbh->commit(); echo 'ブログを投稿しました!'; } catch (PDOException $e) { $dbh->rollBack(); exit($e); } } } ?> detail.php <?php require_once('blog.php'); $blog = new Blog(); $result = $blog->getById($_GET['id']); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ブログ詳細</title> </head> <body> <h2>ブログ詳細</h2> <h3>タイトル:<?php echo $result['title'] ?> </h3> <p>投稿日時:<?php echo $result['post_at'] ?></p> <p>カテゴリー:<?php echo $blog->setCategoryName($result['category']) ?></p> <hr> <p>本文:<?php echo $result['content'] ?></p> </body> </html> 誠に恐れ入ります。 アドバイスの程、宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • PHP pdo データが無い場合とある場合

    tablename( id int not null, name text not null, age int ); 的なテーブルがあったとして、id番号と名前は必ずデータがあるが、年齢はデータがあったり無かったりするとします。 $id = 1; $name = "太郎"; $age = ""; だったり $age = "25";だったり シンプルにinsert 書きたいのですが、やはり$ageが空文字の場合と数字で構成される文字の場合でわけないと書けないでしょうか? $sql = "insert into tablename( id,name,age) values (:id,:name,:age); $stmt = $pdo->prepare($sql); $stmt->bindValue(":id", $id, PDO::PARAM_INT); $stmt->bindValue(":name", null, PDO::PARAM_STR); if ($age === "") { $stmt->bindValue(":age ", null, PDO::PARAM_NULL); } else { $stmt->bindValue(":age ", $age , PDO::PARAM_INT); } とわけないと無理?

    • 締切済み
    • PHP
  • PHPからSQL文で〇〇か〇〇か〇〇という時に

    PHPからMYSQLに問い合わせでご質問です。 実行している文です(SELECT文から) SELECT * FROM users WHERE id = ? AND level = ?' ))); $stmt->bindValue(1, $id, PDO::PARAM_INT); $stmt->bindValue(2, $level, PDO::PARAM_INT); $stmt->execute(); return $stmt->fetchAll(); } このような感じでユーザーIDとユーザーのレベルを判別しているものですが、IDはセッションを入れレベルに2と3と4の人を抽出という場合がわからずご質問させて頂きました。 ORを使って WHERE id = ? AND level = ? OR id = ? AND level = ? OR id = ? AND level = ? OR id = ? AND level = ? $stmt->bindValue(1, $id, PDO::PARAM_INT); $stmt->bindValue(2, $level, PDO::PARAM_INT); $stmt->bindValue(3, $id, PDO::PARAM_INT); $stmt->bindValue(4, $level, PDO::PARAM_INT); $stmt->bindValue(5, $id, PDO::PARAM_INT); $stmt->bindValue(6, $level, PDO::PARAM_INT); のような感じで当てはめたいものを書くのかと思ったり、もっときれいな書き方というか正しい書き方がありそうな気がしてご質問させて頂いた限りです。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PDOについて

    プログラム初心者です 最近PDO使うようになりましたがまったく使いこなせません 何回もSQL発行して効率わるいコードになりました(--; 一回のSQL発行にまとめる方法はありますか? for ($i=0; $i<$count; $i++) { $id=$Array[$i][0]; $name=$Array[$i][1]; $stmt = $pdo -> prepare("INSERT IGNORE INTO table(id,name) VALUES (?,?)"); $stmt->bindValue(1, $id, PDO::PARAM_INT); $stmt->bindValue(2, $name, PDO::PARAM_STR); $stmt->execute(); } 質問2 prepareのキャッシュを利かすってどうゆうことでしょうか?上の場合でもキャッシュ生かせていますか? よろしくお願いします

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • NH90/H1を購入後、初期セットアップ時にパソコン本体にACアダプタを接続し電源ボタンを押すと、電源ランプは点灯するが画面が黒いままとなり、再起動や他のキー操作でも反応しない状況になっています。
  • この問題は初期不良の可能性がありますが、確定的な判断はできません。再度電源ボタンを押したり、強制終了させて再起動するなどの対応を試しても改善されない場合、購入店舗またはメーカーサポートへ連絡して問題の解決に導いてもらうことをおすすめします。
  • この問題に関する詳しい情報や同様のトラブルの解決方法は、富士通FMVの公式サポートページやユーザーフォーラムなどを参考にすると良いでしょう。
回答を見る