PhoenixJane 2020-10-16 16:22 采纳率: 0%
浏览 29

PHP里用mysqli扩展操作数据库insert命令一直返回错误

windows环境下的PHP7.4版本,mysql8.0版本,连接数据库正常,但是执行插入操作,Vardump返回的数值类型一直是false。

<?php

//PHP通过mysqli扩展操作数据库

//进行连接认证
$conn = @mysqli_connect('localhost','root','root');

//设置字符集
$sql = "set names utf8mb4";
$res = mysqli_query($conn,$sql);

//调用数据库
$sql = "use mydb";
$res = mysqli_query($conn,$sql);

//进行插入操作
$sql = "insert into my_student values (17,'阿狸',6,177,177,'女')";
$res = mysqli_query($conn,$sql);

这个是my_student:
图片说明

到现在还没找出问题,55555

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-25 03:37
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在你提供的代码中,我看到你的SQL语句包含了一些语法错误。正确的MySQL查询应该是:

    INSERT INTO `my_student` (`stuid`, `stu_name`, `class_id`, `stu_height`, `stu_age`, `gender`) VALUES (17, '阿狸', 6, 177, 177, '女');
    

    现在让我们逐步解决这个问题。

    首先,确保你的mysqli函数库已经正确安装和加载。如果你使用的是Composer,你可以运行以下命令来安装mysqli库:

    composer require php-mysql/php-mysqli
    

    然后,在你的代码中添加以下内容:

    require_once __DIR__ . '/vendor/autoload.php';
    
    $mysqli = new \mysqli('localhost', 'root', 'password', 'mydb') or die('Could not connect: ' . $mysqli->connect_error);
    
    if ($mysqli) {
        // 连接验证成功
    } else {
        echo 'Failed to connect';
    }
    
    $stmt = $mysqli->prepare('SET NAMES utf8mb4');
    $stmt->bind_param('s', $value); // 将字符串值绑定到参数
    $stmt->execute();
    

    现在,你应该能够安全地执行SQL插入了。如果仍然遇到问题,请检查以下几点:

    1. 确保你正在使用的服务器上已安装并配置了MySQL服务。
    2. 确保MySQL服务器已启用utf8mb4字符集。
    3. 检查mysqli函数库是否正确安装和加载。
    4. 确保你在使用正确的数据库名称、用户名和密码。

    希望这些建议能帮助你解决问题!

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵