无法将值插入数据库表

时间:2016-10-08 20:00:50

标签: php mysql database

$a = "INSERT INTO `uc_messages` (from, to, time, subject, description) VALUES ('q', 'a', CURRENT_DATE(), 'a', 'a')";
$con = mysqli_connect('localhost', '', '');

if(!mysqli_query($con, $a)) { die('Invalid query: ' . mysqli_error($con)); } 

这是我用来在我的表中插入值的代码,但由于某种原因,这段代码不起作用。这是我的database,这是table我正在尝试插入值。这是我得到的错误“无效查询:没有选择数据库”,尽管我包含了包含数据库的文件。

<?php

//Database Information
$db_host = "localhost"; //Host address (most likely localhost)
$db_name = "users"; //Name of Database
$db_user = "root"; //Name of database user
$db_pass = ""; //Password for database user
$db_table_prefix = "uc_";

GLOBAL $errors;
GLOBAL $successes;

$errors = array();
$successes = array();

/* Create a new mysqli object with database connection parameters */
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
GLOBAL $mysqli;

if(mysqli_connect_errno()) {
    echo "Connection Failed: " . mysqli_connect_errno();
    exit();
}

//Direct to install directory, if it exists
if(is_dir("install/"))
{
    header("Location: install/");
    die();

}

?>

2 个答案:

答案 0 :(得分:1)

其中一个问题是接口函数调用的无效混合。显示的代码使用mysqli_函数来建立与数据库的连接。有了它,使用mysqli_函数,使用(旧的,已弃用的,现在已删除的PHP7)mysql_函数。

用适当的mysql_query函数替换(无效)mysqli_函数后,检查函数中的 return 。如果返回值为FALSE,请使用适当的函数(mysqli_error)来检索MySQL错误消息。

问题是什么?

答案 1 :(得分:0)

您可以尝试下一个代码,让我们知道输出是什么吗?

// database connection, update user, password and database
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    exit;
}

// insert data
$query = "INSERT INTO `uc_messages` (`from`, `to`, `time`, `subject`, `description`) VALUES ('q', 'a', CURRENT_DATE(), 'a', 'a')";
if(!mysqli_query($query)) {
    echo 'Invalid query: ' . mysqli_error($mysqli);
    exit;
} 

echo 'Success';