这里有很多问题试图将数据上传到数据库

时间:2013-07-12 00:12:58

标签: php forms session

我在这里遇到一个大问题,我正在尝试将一些数据上传到数据库,我真的不知道为什么没有上传。

这是我的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);

?>

所以这是关于它的,我几乎肯定它是这个代码中的东西,但它可能是一些糟糕的会话管理,虽然我不完全确定它。

无论如何,提前感谢您的帮助。非常感谢。

2 个答案:

答案 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'];