相关疑难解决方法(0)

未捕获错误:无法使用WP_Post类型的对象作为数组

我试图在我的模板文件中放置一个WordPress菜单.我发现使用wp_nav_menu不舒服,因为它输出的标记与我的静态HTML模板不兼容.我知道我可以使用自定义菜单walker类来修改wp_nav_menu的标记.但相反,我只想使用菜单名称及其相应的URL并将其放在我的模板中.为此,我使用此函数获取菜单的所有属性/属性的数组.

这是由此函数生成的代码...

我通过使用var_dump()找到它.

    Array
(
    [0] = WP_Post Object
        (
            [ID] = 20
            [post_author] = 1
            [post_date] = 2017-07-10 11:50:32
            [post_date_gmt] = 2017-07-10 10:50:32
            [post_content] = 
            [post_title] = About
            [post_excerpt] = 
            [post_status] = publish
            [comment_status] = closed
            [ping_status] = closed
            [post_password] = 
            [post_name] = about
            [to_ping] = 
            [pinged] = 
            [post_modified] = 2017-07-10 11:50:40
            [post_modified_gmt] = 2017-07-10 10:50:40
            [post_content_filtered] = 
            [post_parent] = 0
            [guid] = http://localhost/mySite/?p=20
            [menu_order] = 1
            [post_type] = nav_menu_item
            [post_mime_type] = 
            [comment_count] = 0
            [filter] = …

php wordpress wordpress-theming

5
推荐指数
2
解决办法
7308
查看次数

PHP - MySQL从存储过程中获取out参数的值

我用PHP调用了一个MySQL存储过程mysqli.这有一个输出参数.

$rs = $mysqli->query("CALL addNewUser($name,$age,@id)");
Run Code Online (Sandbox Code Playgroud)

这里,@ id是out参数.接下来,我触发以下查询以获取out参数的值:

$rs2 = $mysqli->query("SELECT @id");
while($row = $rs->fetch_object()){
    echo var_dump($row);
}
Run Code Online (Sandbox Code Playgroud)

输出var_dump如下.

object(stdClass)#5 (1) { ["@id"]=> string(6) "100026" }
Run Code Online (Sandbox Code Playgroud)

所以,现在我想要检索@id我无法获取的值.我试过$row[0]->{@id}但这给出了以下错误:

PHP致命错误:无法使用stdClass类型的对象作为数组

php mysql out-parameters

3
推荐指数
1
解决办法
2万
查看次数