我正在使用mySQL。无论我使用什么语法,我都无法获取查询结果。
连接到数据库工作得很好。 然后我创建了一个PDO,它也可以正常工作。
但是当我尝试查询数据库时,无论我做什么,我都会遇到各种错误。 (请参阅注释中的细节。)我知道我的结果很好,因为当我var_dump它们时,我看到数组并且它有数据。
//***********************************************
// Try to retrieve list of states
//**********************************************
try {
$result = $db->query('SELECT * FROM state');
echo '<pre> Test 1';
//$test1 = $result->fetch_array(MYSQLI_NUM);
//gives error: undefined method 'fetch_array()''
echo 'Test 2';
//$test2 = $result->fetch(PDO::FETCH_ALL);
//gives error: Undefined class constant 'FETCH_ALL'
echo 'Test 3';
// $test3 = $result->fetch_all();
//gives error: undefined method 'fetch_all()'
echo 'Test 4';
//$test4 = $mysqli->fetch_all();
//gives error: undefined method 'fetch_all()'
echo 'Test 5';
$test5 = $result->fetch_assoc();
//gives error: undefined method 'fetch_assoc()'
echo '</pre>';
} catch(Exception $e) {
echo $e->getMessage();
die();
}
我离开这里了吗?我在这个论坛上看到的一些东西表明了php版本的问题,但我本周刚刚下载了最新版本。我正在运行5.6.12版本。
确定 - 新信息
如果我运行以下代码,它可以完美运行:
$sql = $db->prepare('SELECT * FROM state');
$sql->execute();
$result = $sql->fetchAll(PDO::FETCH_ASSOC);
所以我的想法是,使用mySQL我总是必须使用prepare()和execute()方法,而query()方法是不够的。这是真的吗?
我也看不出它是如何复制的“我可以在PHP中混合MySQL API吗?”这是关于连接的问题,我的是关于从查询中获取结果。