我在WordPress中遇到了函数get_row()的问题,无法找到满意的答案。这是我的一段代码
function take_category() {
$table_result = array();
$connect_to = connect_to_db();
$question = "select id_cat, name_cat from category";
if (!($result=$connect_to->get_results($question, ARRAY_N))) {
return false;
}
$prepared_row =$connect_to->prepare("%s", $question);
var_dump($prepared_row);
$row=$conntect_to->get_row($prepared_row, ARRAY_N, 1); // line 689
var_dump($row).'</br>';
for ($count=0; $row=$conntect_to->get_row($question, ARRAY_N, 1);
$count++) {
$table_result[$count] = $row;
.........
return $table_result;
此功能放在 functions.php 中。函数 connect_to_db()也在此文件中定义:
function connect_to_db() {
global $wpdb;
$wpdb = new wpdb('****', '', '****store', 'localhost');
if (!$wpdb) {
return false;
} else{
$wpdb->query('SET autocommit = 1;');
return $wpdb;
}
}
正确连接数据库。功能准备也可正常运行。这是 var_dump($ prepared_row):
string(39) "'select id_cat, name_cat from category'"
但下一段代码
$row=$conntect_to->get_row($prepared_row, ARRAY_N, 1); // line 689
var_dump($row);
显示结果 NULL :和致命错误
***Fatal error:** Uncaught Error: Call to a member function get_row() on
null in ....\functions.php:689 Stack trace: #0 ...\indeks.php(12):
take_category() #1 {main} thrown in ...\functions.php on line 689*
文件 indeks.php 是一个调用函数 take_category()的文件:
$cat_table = take_category();
但如果我改变我的第689行:
$row=$connect_to->get_row("select id_cat, name_cat from category",
ARRAY_N, 1);
我看到 var_dump($ row):
array(2) { [0]=> string(1) "2" [1]=> string(9) "Textbooks" }
和同样的致命错误!
功能 get_row 有什么问题?
亲爱的gentelments我发现了问题。对不起,等你的时间......
答案 0 :(得分:0)
$conntect_to->get_row()
不应该是$connect_to->get_row()
吗?
答案 1 :(得分:0)
变量被拼错了。您之前设置了$connect_to
。但是现在您正在访问$conntect_to
。将其重命名为$connect_to
。
答案 2 :(得分:0)
conntect_to->
和connect_to->
中的错字错误。小心使用。