php - mysqli_query 不运行查询?

标签 php mysql sql

我有这些 .php 文件:

在db_functions saveData 中不运行sqliquery。它不会将参数插入数据库 - 我已经在 phpmyadmin 上测试了相同的查询(使用随机值) - 它有效 - 但在这里它没有......代码中有任何错误吗? db_config 数据是正确的 - 只是将它们更改为 xxx :D

数据库配置:

    <?php


define("DB_HOST", "xxx");
define("DB_USER", "xxx");
define("DB_PASSWORD", "xxx");
define("DB_DATABASE", "xxx");

?>

数据库连接:

    <?php

class DB_CONNECT {

    private $conn;

    // constructor
    function __construct() {


    }


    /**
     * Function to connect with database
     */
    function connect() {
        // import database db variables
        require_once __DIR__ . '/db_config.php';

        // Connecting to mysql database
       $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD);

        if (mysqli_connect_errno()) {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
        // Selecing database

        // returing connection cursor
        return $this->conn;
    }



}

?>

数据库函数

class DB_Functions {

    private $conn;

    //put your code here
    // constructor
    function __construct() {
        include_once './db_connect.php';
        // connecting to database
        $db = new DB_Connect();
          $this->conn = $db->connect();
    }






    public function saveData($name, $id) {


    if (mysqli_connect_errno()) {
  printf("Connect failed: %s\n", mysqli_connect_error());
  exit();
}
        // insert user into database
            $query = "INSERT INTO data(name, id) VALUES('$name','$id')";
            echo $query;
        $result = mysqli_query($this->conn,$query);

...}

最佳答案

你有这条线

$this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD);

其中 DB_SERVER 未定义,并且您未传递数据库名称

应该是这样

$this->conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);

我在您的代码中没有发现任何其他明显的错误。 不过,我强烈建议使用准备好的语句,而不是将数据直接注入(inject)查询中。

参见mysqli::prepare

关于php - mysqli_query 不运行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27407116/

相关文章:

php - 在提交表单时加载跟踪脚本

java - 即使正确的JSON JAVA Volley,凭证响应也无效

mysql - 升级到 5.6.27 后 mysql 性能下降

SQL 根据前几行填空数据

c# - Windows 窗体应用程序 - 我应该使用哪种数据库类型?

mysql - 不能在 mysql 函数中使用别名作为 ORDER BY 子句的一部分

javascript - 如何使用JavaScript在Web应用程序中检测音频是否正在播放

php - 错误的 json 数组 Python post 请求到 PHP

php不执行mysql的查询,但在mysql中是可执行的

mysql - 用两个数据(外键)填充数据库字段