相关疑难解决方法(0)

mysqli :: get_result有什么问题?

我有以下代码:

$postId = $_GET['postId'];
$mysqli = new mysqli('localhost', 'username', 'database', 'name_db');
mysqli_report(MYSQLI_REPORT_ALL);

$stmt = $mysqli->stmt_init();
$stmt->prepare("
SELECT *
FROM posts
WHERE postId = ?
");
$stmt->bind_param('i', $postId);
$stmt->execute();
$result = $stmt->get_result();//Call to undefined method 
$info = $result->fetch_array(MYSQLI_ASSOC);
echo json_encode($info);
Run Code Online (Sandbox Code Playgroud)

我收到上面标记的错误.我做错了什么?

编辑:

将fecth_array()更改为fetch_array()

php mysqli

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

在预准备语句上使用fetch_assoc(php mysqli)

我目前正在编写登录脚本,我得到了这段代码:

$selectUser = $db->prepare("SELECT `id`,`password`,`salt` FROM `users` WHERE `username`=?");
$selectUser->bind_param('s', $username);
$selectUser->execute();

if ($selectUser->num_rows() < 0)
    echo "no_user";
else
{
    $user = $selectUser->fetch_assoc();
    echo $user['id'];
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

致命错误:未捕获错误:调用未定义的方法mysqli_stmt :: fetch_assoc()

我尝试了各种各样的变化,比如:

$result = $selectUser->execute();
$user = $result->fetch_assoc();
Run Code Online (Sandbox Code Playgroud)

还有更多......没有用.

请不要将我转到另一个StackOverflow问题,我无法理解他们.

谢谢!

php mysqli prepared-statement

5
推荐指数
1
解决办法
3691
查看次数

PHP致命错误:调用未定义函数mysqli_stmt_get_result()

我不断收到错误PHP致命错误:调用未定义函数mysqli_stmt_get_result()。我正在使用PHP版本5.6,并在主机提供商c面板中启用了扩展mysqlind,但我不知道为什么仍然出现此错误。我进行了研究,发现每次需要启用mysqli nd才能使用mysqli_stmt_get_result。任何人都可以协助/教导我在做什么错。谢谢。

SIGNUP.PHP:

<?php
    session_start();
    include '../dbh.php';

    $respond = array(
        'status' => true,
        'message' => 'There was an error',
        'redirect',
        'errors'
    );

    if (isset($_POST['submit'])) {

        $first = $_POST['first'];
        $last  = $_POST['last'];
        $email = $_POST['email'];
        $pwd   = $_POST['pwd'];

        $errorEmpty = false;
        $errorEmail = false;


        if (empty($first) || empty($last) || empty($email) || empty($pwd)) {

            $respond['errors'][]   = "Please fill out all fields!";
            $respond['errorEmpty'] = true;

        } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $respond['errors'][]   = "Please enter a valid email address!";
            $respond['errorEmail'] = true;

        } else …
Run Code Online (Sandbox Code Playgroud)

php mysql

4
推荐指数
2
解决办法
4224
查看次数

是否可以启用MySQL Native Driver(mysqlnd)?

可能重复:
调用未定义的方法mysqli_stmt :: get_result

我的网站主机有PHP 5.3.10并且我正在使用mysqli,但有些功能get_result() 因为它需要而无效mysqlnd.

我做了一些测试,似乎mysqlnd没有使用.是可以启用它还是需要重新安装PHP(我不能这样做,因为它是一个虚拟主机).

如果没有它我不想改变我的代码.

php mysql

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

Fatal error: Call to undefined method mysqli_stmt::get_result()

My following php MYSQLi is not working, PHP version 5.9

    $query = $conn->prepare("SELECT * FROM users WHERE token= ? LIMIT 1");
    $query->bind_param('s',$cvalue);
    $query->execute();
    $result = $query->get_result();
    $row = $result->fetch_assoc();
Run Code Online (Sandbox Code Playgroud)

It's giving me the following error:

Fatal error: Call to undefined method mysqli_stmt::get_result()

Where is the error? How can I fix it? Thanks

php mysql mysqli

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

如何使用bind_param php mysqli选择行?

通常我将此代码用于回显页面行。它的工作很好。

$query = "SELECT * FROM table WHERE id = '$id' ";
$result = mysqli_query($db_mysqli, $query);
$row = mysqli_fetch_assoc($result);
$page = $row['page'];
echo $page;
Run Code Online (Sandbox Code Playgroud)

.....

现在我bind_param将此代码用于回显页面行。但是不行,怎么办?

$stmt = $db_mysqli->prepare("SELECT * FROM table WHERE id = ?");
$stmt->bind_param("s", $id);
$stmt->execute();
$result = $stmt->get_result();
$page = $row['page'];
echo $page;
Run Code Online (Sandbox Code Playgroud)

php mysqli

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

PHP - 准备好的语句和json_encode

我想使用预准备语句创建一个php脚本来查询我的数据库中的表并以json格式返回结果.我有一张医生表,我想找回一个特定专业的医生.我有一个版本的脚本不使用准备好的语句,工作正常.但是,当我使用预准备语句时,我的脚本不起作用.

非预备报表版本:

<?php
// include database constants
require_once("../config/config.php");             

// create db connection
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$mysqli->set_charset("utf8");

$speciality = $_POST['speciality'];

$query = "SELECT * FROM `doctors` WHERE speciality='$speciality'";
$result = $mysqli->query($query) or die("Error executing the query");
while($row = $result->fetch_assoc()) {
    $output[]= $row;    
}
print(json_encode($output));

$mysqli->close();
?>
Run Code Online (Sandbox Code Playgroud)

预备声明版本:

<?php
// include database constants
require_once("../config/config.php");             

// create db connection
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME); …
Run Code Online (Sandbox Code Playgroud)

php json prepared-statement

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

具有预准备语句的简单PHP选择不显示结果

我正在尝试创建一个简单的PHP脚本,该脚本使用准备好的语句选择数据。当前,我正在使用教程作为源。当我调用脚本时,error.log中没有错误,但是没有数据显示。这是我的脚本:

<?php
$servername = "xxx";
$username = "xxx";
$password = "xxx";
$dbname = "xxx";  

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$stmt = $conn->prepare("SELECT * FROM Regions WHERE id=?");
$stmt->bind_param("i", $_POST['id']);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    $name[] = $row['name'];
    $center[] = $row['center'];
    $content_string[] = $row['content_string'];

  }
}
$stmt->close();
echo $name;
echo $center;
echo $content_string;

$conn->close();
?> …
Run Code Online (Sandbox Code Playgroud)

php mysql sql

1
推荐指数
1
解决办法
964
查看次数

标签 统计

php ×8

mysql ×4

mysqli ×4

prepared-statement ×2

json ×1

sql ×1