Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用mysqli绑定这个1变量?_Php_Mysqli_Prepared Statement - Fatal编程技术网

Php 如何使用mysqli绑定这个1变量?

Php 如何使用mysqli绑定这个1变量?,php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,好吧,我已经做了好几个小时了,不管我做什么,它都不起作用。我已经阅读了数页文档,甚至尝试了逐字逐句的例子,但仍然不起作用: $db = mysqli_connect($db_server, $db_user, $db_passwd, $db_name); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $db_query = "SEL

好吧,我已经做了好几个小时了,不管我做什么,它都不起作用。我已经阅读了数页文档,甚至尝试了逐字逐句的例子,但仍然不起作用:

$db = mysqli_connect($db_server, $db_user, $db_passwd, $db_name);

if (mysqli_connect_errno())
{
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$db_query = "SELECT ca.id_article, ca.title, ca.body, ca.id_tag, ca.visible, ct.title AS tag_title
            FROM cdfi_articles AS ca
            INNER JOIN cdfi_tags AS ct ON(ct.id_tag = ca.id_tag)
            WHERE ca.id_article = ?
            LIMIT 1";
;
if ($stmt = mysqli_prepare($db, $db_query)) {
    mysqli_stmt_bind_param($stmt, "i", $_REQUEST['article']);

    mysqli_stmt_execute($stmt);
    mysqli_stmt_bind_result($stmt, $return);
    mysqli_stmt_fetch($stmt);

    var_dump($return);

}

mysqli_close($db);
出现以下错误,我根本不知道如何修复它:

Warning: mysqli_stmt_bind_result() [function.mysqli-stmt-bind-result]: Number of bind variables doesn't match number of fields in prepared statement in ... filepath on line {line number}
绑定变量
不匹配?我只使用了1个变量,在查询中只使用了1个问号,给出了什么

var\u dump($return)
返回
NULL


我怎样才能解决这个问题?我只想在
$return
变量中返回1行,这样我就可以对它做些什么了,arggg

您正在选择6列,但您仅在
mysqli\u stmt\u bind\u结果($stmt,$return)中绑定
$return

试一试


为什么要使用
$\u请求
?使用
$\u POST
$\u GET
specificallyOk,谢谢,我会做出更改!好的,所以我也在考虑这个问题,但是如何解决这个问题呢??我只希望所有列都返回到
$return
变量中,以便列名位于$return数组中。有可能吗?谢谢,这样可以消除错误。。。谢谢,我想不可能让它返回一个数组变量,是吧?真糟糕!我想我现在必须使用所有这些变量,并手动将其存储在数组中!!数组不能很好地与SQL配合使用/以我的经验,SQL不能很好地与数组配合使用。@SolomonClosson:我不知道这是否可能。在调用mysqli_stmt_bind_result
之前,您可以尝试定义
$result=array()
,看看会发生什么。根据文档,这应该是您想要的:
$r=$stmt->get_result()$result=$r->fetch_assoc()
(或您喜欢的数组类型)
mysqli_stmt_bind_result($stmt, $artid, $title, $body, $tagid, $vis, $tagtitle );