Php 无法将数据插入MySQL
我是MySql新手,所以请原谅我犯的任何愚蠢错误,但基本上我是在写博客,我有一个表,它有4列:post_id、post_text、post_user和post_date。我无法让我的代码将数据插入MySql,如果您能看一看并告诉我哪里出了问题,我将不胜感激:Php 无法将数据插入MySQL,php,mysql,Php,Mysql,我是MySql新手,所以请原谅我犯的任何愚蠢错误,但基本上我是在写博客,我有一个表,它有4列:post_id、post_text、post_user和post_date。我无法让我的代码将数据插入MySql,如果您能看一看并告诉我哪里出了问题,我将不胜感激: <?php $host = "localhost"; $user="user"; $password="*********"; $db="myData"; $user_id = $_SESSION['user_id']; in
<?php
$host = "localhost";
$user="user";
$password="*********";
$db="myData";
$user_id = $_SESSION['user_id'];
ini_set('display_errors', 1); error_reporting(-1);
//can't find the user_id
$con=mysql_connect($host,$user,$password,"myData","posts");
if( $con === FALSE ) {
die('mysql connection error: '.mysql_error());
}
$post_text = mysqli_real_escape_string($con,$_POST["blog_entrance"]);
$post_date = mysqli_real_escape_string($con,date("y.m.d"));
$query = "INSERT INTO posts (post_text, post_user) VALUES ('$post_text','$user_id','$post_date')";
mysql_query($query,$con) or die('Can\'t post data atm: ' . mysql_error());
mysql_close($host,$user,$password,"myData","posts");
header('Location: ../index.php');
?>
了解函数:
您必须使用:
$con = mysql_connect($host,$user,$password);
无论如何,mysql.*
函数是旧的、可怕的、不推荐使用的。使用或我想我应该发布我的最终代码,以便将来的用户可以查看它:
$con= new mysqli($host,$user,$password,$db);
if ($con->connect_errno) {
die("Failed to connect to MySQL: (" . $con->connect_errno . ") " . $con->connect_error);
}
$post_text = mysqli_real_escape_string($con,$_POST["blog_entrance"]);
$post_date = mysqli_real_escape_string($con,date("y.m.d"));
if (!$con->query("INSERT INTO posts(post_text, post_user, post_date) VALUES ('$post_text',$user_id','$post_date')")) {
die("Multi-INSERT failed: (" . $con->errno . ") " . $con->error);
}
你把mysql
和mysqli
语句混在一起了-它们不兼容。至于使用哪一个:mysqli
——另一个已弃用,不受支持,不久将从PHP中删除。Google“mysqli教程”-有一百万个。php的一个更好的特性是它的所有功能,包括详细描述,并给出了许多示例。使用它。顺便说一句,在同一页上,他们解释了为什么不应该再使用mysql,以及为什么。这个问题似乎离题了,因为解决这个问题所需的一切都可以在会话_start()中找到代码>是否已加载?10次中有9次OP会回答“是的,它是。”-它没有显示,但它在那里。将错误报告添加到文件顶部错误报告(E_ALL);ini设置(“显示错误”,1)代码>不要使用mysql_*函数。他们被弃用了。切换到PDO或mysqli。@Robbert当你添加这个时,我正在编辑并添加这个:)