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

回答編集履歴

2

見直し

2020/03/23 09:57

投稿

退会済みユーザー
answer CHANGED
@@ -1,6 +1,7 @@
1
1
  Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result
2
2
  の原因は、引数にFALSEが与えられた、
3
3
  つまりmysqli_query()で実行しているクエリーに失敗しています。
4
+ WHEREが2個あるけど?
4
5
 
5
6
  address_numberって文字列なのか数字なのか、DB上の定義はどっちでしょうか。
6
7
  それによって、数値文字列を与えるかシングルクォートつきで文字列で与えるのかを統一しましょう。
@@ -8,4 +9,16 @@
8
9
  そこで。
9
10
  数字で与えるのか文字列で与えるのかをドライバーに任せるために、
10
11
  [PHP: mysqli_stmt::bind_param - Manual](https://www.php.net/manual/ja/mysqli-stmt.bind-param.php)
11
- を駆使してください。
12
+ を駆使してください。
13
+
14
+ ```php
15
+ $query_count = <<<EOT
16
+ SELECT count(address_number)
17
+ FROM address_table
18
+ WHERE address_number=?;
19
+ EOT;
20
+ $stmt = mysqli_prepare($link, $query_count);
21
+ mysqli_stmt_bind_param($stmt, 'i', $number);
22
+ mysqli_stmt_execute($stmt);
23
+ ```
24
+ みたいな流れ。

1

加筆修正

2020/03/23 09:57

投稿

退会済みユーザー
answer CHANGED
@@ -3,4 +3,9 @@
3
3
  つまりmysqli_query()で実行しているクエリーに失敗しています。
4
4
 
5
5
  address_numberって文字列なのか数字なのか、DB上の定義はどっちでしょうか。
6
- それによって、数値文字列を与えるかシングルクォートつきで文字列で与えるのかを統一しましょう。
6
+ それによって、数値文字列を与えるかシングルクォートつきで文字列で与えるのかを統一しましょう。
7
+
8
+ そこで。
9
+ 数字で与えるのか文字列で与えるのかをドライバーに任せるために、
10
+ [PHP: mysqli_stmt::bind_param - Manual](https://www.php.net/manual/ja/mysqli-stmt.bind-param.php)
11
+ を駆使してください。