MySQL успешно вставлен, но ничего не добавлено - PullRequest
0 голосов
/ 06 апреля 2011

посмотрите на этот код

<?
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 голосов
/ 06 апреля 2011
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(), которая выполняет дополнительную проверку работоспособности, чтобы убедиться, что ничто не вмешивается в файл между моментом окончания загрузки и попыткой его перемещения сценарием.

0 голосов
/ 06 апреля 2011

Возможно, $ _POST [s1] не установлен, или вы вставляете в базу данных, отличную от той, которую смотрите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...