将查询结果存储为字符串

时间:2017-04-19 03:36:28

标签: php mysql mysqli

我使用preparebind_paramexecute语句来查询我的数据库并只获取第一列。在php中,我如何将第一个返回值存储为字符串?

在这个返回值的示例中,我希望将value 1存储为字符串。

  • value 1
  • value 2
  • value 3

实际代码:

  //connect to database

  $var1 = a;
  $var2 = b;
  $var3 = c;
  $var4 = d;
  $var5 = e;


  $stmt = $mysqli->prepare("SELECT id FROM id_list WHERE variable1 = ? && variable2 = ? && variable3 = ? && variable4 = ? && variable5 = ?");
  $stmt->bind_param('sssss', $var1, $var2, $var3, $var4, $var5);

  $stmt->execute();
  //How would I get the result here?
  $stmt->bind_result($result);
  echo $result;

2 个答案:

答案 0 :(得分:1)

此代码将完成您的代码并检索您需要的所有值。

您可以参考PHP Documentation了解更多信息

然后你可以用$ result [0];

替换while

注意:请勿忘记替换database连接的值。您的正确价值观:'my_user''my_password''my_database'

<?php
    $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_database');

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

    $stmt = $mysqli->prepare("SELECT id FROM id_list 
            WHERE 
            variable1 = ? && 
            variable2 = ? && 
            variable3 = ? && 
            variable4 = ? && 
            variable5 = ?");
    $stmt->bind_param('sssss', $var1, $var2, $var3, $var4, $var5);

    $var1 = a;
    $var2 = b;
    $var3 = c;
    $var4 = d;
    $var5 = e;

    /* execute prepared statement */
    $stmt->execute();

    $stmt->bind_result($result);
    $stmt->execute();

    echo 'Results:' . PHP_EOL;
    while($stmt->fetch()){
        echo $result . PHP_EOL;
    }

    $stmt->close();

    /* close connection */
    $mysqli->close();
?>

答案 1 :(得分:0)

如果您可以提供一些代码示例,它可以提供帮助。 无论如何我假设你将db结果变成一个数组。 所以例如$ myDBresults应该是一个数组。 然后,您可以将其作为字符串in this way保存到变量中:

$ myVar =(string)$ myDBresults [0]; //强制转换为字符串第一个元素。