PHP スクリプトで何かがうまくいかない場合、まずできることは、知識を増やすことです。あなたはそれを書いた
echo $post1['0'];
echo $post1['1'];
何も示していません。NULL
これは、これらの値が、FALSE
または空の文字列である場合にのみ当てはまります。
$post1
したがって、次のステップは、最初に調べることです
var_dump($post1);
変数をダンプすることによって。
もう 1 つの手順は、スクリプトの最上位レベルでエラー表示とレポートを有効にして、潜在的な問題がどこにあるかを把握することです。
ini_set('display_errors', 1); error_reporting(~0);
また、PHP 5.4 を使用することもできます (最初の部分は古い現在の PHP 5.3 でも動作しますが、foreach
動作しませんが、動作するものを返すことができquery()
ます)。次のように、スクリプトを少し単純化します。
class MyDB extends mysqli
{
private $throwOnError = true; # That is the die() style you do.
public function query($query, $resultmode = MYSQLI_STORE_RESULT) {
$result = parent::query($query, $resultmode);
if (!$result && $this->throwOnError) {
throw new RuntimeException(sprintf('Query "%s" failed: (#%d) %s', $query, $this->errno, $this->error));
}
return $result;
}
}
$connection = new MyDB('localhost', 'testuser', 'test', 'test');
$query = 'SELECT `option` FROM config';
$result = $connection->query($query);
foreach ($result as $row) {
var_dump($row);
}