mysql插入成功但没有添加任何内容

时间:2011-04-06 14:35:35

标签: php mysql insert

看看这段代码

<?
require_once("conn.php");
require_once("includes.php");
require_once("access.php");

if(isset($_POST[s1]))
{
    //manage files
    if(!empty($_FILES[images]))
    {
        while(list($key,$value) = each($_FILES[images][name]))
        {
            if(!empty($value))
            {
                $NewImageName = $t."_".$value;
                copy($_FILES[images][tmp_name][$key], "images/".$NewImageName);

                $MyImages[] = $NewImageName;
            }
        }

        if(!empty($MyImages))
        {
            $ImageStr = implode("|", $MyImages);
        }
    }

    $q1 = "insert into class_catalog set 
                                MemberID = '$_SESSION[MemberID]',
                                CategoryID = '$_POST[CategoryID]',
                                Description = '$_POST[Description]',
                                images = '$ImageStr',
                                DatePosted = '$t',
                                DateExp = '$_SESSION[AccountExpDate]',
                                FeaturedStatus = '$_POST[sp]' ";
//echo $q1;
    mysql_query($q1) or die(mysql_error());

}

//get the posted offers
$q1 = "select count(*) from class_catalog where MemberID = '$_SESSION[MemberID]' ";
$r1 = mysql_query($q1) or die(mysql_error());
$a1 = mysql_fetch_array($r1);



header("location:AddAsset.php");

exit();

?>

mySql插入函数没有添加任何东西,它也会向我返回成功,我尝试过使用INSERT ...值但它所做的是过重的现有值(即每次输入1个条目并将其覆盖)。

我使用的是PHP 4.4.9和MySql 4

我试图从Phpmyadmin添加,它也正在工作,它在安装后工作,但在我退出浏览器并创建一个新帐户进行测试后,它不起作用,但旧的工作正常!你可以在这里看到它http://bemidjiclassifieds.com/ 尝试使用usr登录:openbook pass:mohamed24你可以看到它会正常工作,但任何新帐户都无法使用!

2 个答案:

答案 0 :(得分:0)

可能没有设置$ _POST [s1],或者您插入的数据库与您正在观看的数据库不同。

答案 1 :(得分:0)

if(isset($_POST[s1]))

应该是

if(isset($_POST['s1']))

(注意引号)。此外,最好不要依赖提交数据中存在的字段来检查您是否正在执行POSt。

是100%可靠的方法
if ($_SERVER['REQUEST_METHOD'] == 'POST') { ... }

同样,您不会检查文件上传是否成功。应该像这样检查每个文件:

foreach($_FILES['images']['name'] as $key => $name) {
   if ($_FILES['images']['error'][$key] !== UPLOAD_ERR_OK) {
       echo "File #$key failed to upload, error code {$_FILES['images']['error'][$key]}";
   }
   ...
}

请勿使用copy()移动上传的文件。有一个move_uploaded_files()函数,它会进行一些额外的健全性检查,以确保在上传完成和脚本试图移动它之间没有任何文件被篡改。