我在这里遇到一个大问题,我正在尝试将一些数据上传到数据库,我真的不知道为什么没有上传。
这是我的HTML表单,用于将数据发送到php。 (这里的这个应该没问题)
<form method="post" action="uploadinfo.php">
<div style="width:542px;height:129px;margin-left:45px;margin-top:102px">
<textarea name="stufftoupload" placeholder="Write your stuff here" rows="8" cols="65"></textarea>
</div>
<div style="width:95px;height:29px;margin-left:489px;margin-top:22px">
<input type="image" src="myimg.png">
</div>
</form>
这里的这个是我的PHP上传到数据库,这是问题应该在哪里,但我不知道它是什么。我已经尝试了几种解决方案,但没有任何效果。
<?php
session_start();
$db = mysql_connect("host","db","pass");
if(!$db) die("Error");
mysql_select_db("table",$db);
$email = $_SESSION['email'];
$stuff = $_POST['stuff'];
if (!$stuff)
{
echo "<script type='text/javascript'>window.alert('Fill all the blanks.')</script>";
$url = 'upload.php';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
}
else
{
$url = 'success.php';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
}
mysql_query('SET NAMES utf8');
$sql = "SELECT * FROM table WHERE email = '$email'";
$result = mysqli_query($db,$sql);
mysqli_fetch_all($result,MYSQLI_ASSOC);
$sql = "INSERT INTO table SET stuff = '$stuff'" or die(mysql_error());
$result = mysql_query($sql);
?>
所以这是关于它的,我几乎肯定它是这个代码中的东西,但它可能是一些糟糕的会话管理,虽然我不完全确定它。
无论如何,提前感谢您的帮助。非常感谢。
答案 0 :(得分:0)
$db
使用mysql方法连接到数据库,但您正在查询基于mysqli方法。你需要做两件事才能知道发生了什么。首先,将所有mysql_
次来电更改为mysqli_
来电,并添加一些错误报告(例如,将or die (mysqli_error($db);
添加到您查询的每一行的末尾)应指向右侧方向。
你的第一个明显问题是你使用mysql_connect连接到数据库,但是后来尝试使用mysqli查询该连接。使用一个,而不是两个。
此外,您的SQL查询应该是INSERT INTO table (stuff) VALUES ($stuff)
而不是INSERT INTO table SET stuff = '$stuff'
答案 1 :(得分:0)
这里有一些问题,所以我将从现在的情况开始。
这一行:
$db = mysql_connect("host","db","pass");
连接到您的数据库,我假设“主机”没有指向任何东西。根据运行的位置,通常使用Localhost。您还需要确保密码正确。
根据建议,使用mysqli。
您的插入内容必须类似于:
INSERT INTO table VALUES ({$stuff});
不确定您希望从该表单中获得什么,但您的会话变量必须与您在表单上使用的输入名称相匹配。
$stuff = $_POST['stufftoupload'];