teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

エラー文が出なくなりました

2018/03/12 01:43

投稿

aaaaaaaaa
aaaaaaaaa

スコア8

title CHANGED
File without changes
body CHANGED
@@ -25,9 +25,9 @@
25
25
 
26
26
  if(count($errors) === 0){
27
27
 
28
- $dsn = 'mysql:host=mysql1.php.xdomain.ne.jp';'dbname=tchi_dbb;charset=utf8';
28
+ $dsn = 'mysql:host=○○○';'dbname=○○○;charset=utf8';
29
- $user = 'tchi_db';
29
+ $user = '○○○';
30
- $password = 'moehaii1';
30
+ $password = '○○○';
31
31
 
32
32
  try{
33
33
  $dbh = new PDO($dsn, $user, $password);

1

エラーが出なくなりました

2018/03/12 01:43

投稿

aaaaaaaaa
aaaaaaaaa

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  人の名前や電話番号や性別という複数のフィールドから検索し、表示できるようにしたいのですが(例:検索フォームに男と打ったら検索結果に人の名前と電話番号と性別が出てくる等にしたいです)
2
2
  エラー文にこう出てきます
3
3
  「Warning: PDOStatement::bindValue() expects at most 3 parameters, 5 given in /○○○/○○○/○○○/○○○/○○○/search.php on line 28」と
4
- 「Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in /○○○/○○○/○○○/○○○/○○○/search.php on line 30」と「検索失敗しました。」と出てきます
4
+ 「Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in /○○○/○○○/○○○/○○○/○○○/search.php on line 30」というエラーは色々調べた結果出なくなったのですが「検索失敗しました。」と出てきます
5
5
  教えてくださったら助かります
6
6
  よろしくお願い致します
7
7
 
@@ -25,20 +25,20 @@
25
25
 
26
26
  if(count($errors) === 0){
27
27
 
28
- $dsn = 'mysql:○○○;dbname=○○○;charset=utf8';
28
+ $dsn = 'mysql:host=mysql1.php.xdomain.ne.jp';'dbname=tchi_dbb;charset=utf8';
29
- $user = '○○○';
29
+ $user = 'tchi_db';
30
- $password = '○○○';
30
+ $password = 'moehaii1';
31
31
 
32
32
  try{
33
33
  $dbh = new PDO($dsn, $user, $password);
34
- $statement = $dbh->prepare("SELECT * FROM hito where name = :name and tel = tel and sex = :sex LIKE (:name,:tel,:sex)");
34
+ $statement = $dbh->prepare("SELECT * FROM hito where name LIKE (:name) and tel LIKE (:tel)");
35
35
 
36
36
  if($statement){
37
37
  $yourname = $_POST['yourname'];
38
38
  $like_yourname = "%".$yourname."%";
39
39
  //プレースホルダへ実際の値を設定する
40
- $statement->bindValue(':name',':tel',':sex', $like_yourname, PDO::PARAM_STR);
40
+ $statement->bindValue(':name', $like_yourname, PDO::PARAM_STR);
41
-
41
+ $statement->bindValue(':tel', $like_yourname, PDO::PARAM_STR);
42
42
  if($statement->execute()){
43
43
  //レコード件数取得
44
44
  $row_count = $statement->rowCount();
@@ -77,7 +77,7 @@
77
77
  <p><?=$row_count?>件です。</p>
78
78
 
79
79
  <table border='1'>
80
- <tr><td>名前</td><td>電話番号</td><<td>性別</td>/tr>
80
+ <tr><td>名前</td><td>性別</td></tr>
81
81
 
82
82
  <?php
83
83
  foreach((array)$rows as $row){