![](/img/trans.png)
[英]An “insert into” mySQL query through PHP appears to work, but nothing is added
[英]mysql insert success but nothing is added
看這段代碼
<?
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函數沒有添加任何東西,它也向我返回了成功,我嘗試使用INSERT ...值,但是這樣做是誇大了現有的值(即每次輸入1並覆蓋它)。
我正在使用PHP 4.4.9和MySql 4
我嘗試從Phpmyadmin添加文件,並且它在安裝后也可以正常工作,但是我退出瀏覽器並注冊了一個新帳戶進行測試后,它不起作用,但是舊的卻可以工作! 您可以在這里看到它http://bemidjiclassifieds.com/嘗試使用usr:openbook pass:mohamed24登錄,您可以看到它可以使用,但是任何新帳戶都無法使用!
可能未設置$ _POST [s1],或者您要插入的數據庫與正在觀看的數據庫不同。
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()
函數,該函數會進行一些額外的檢查,以確保在上傳完成和腳本嘗試移動文件之間沒有任何文件被篡改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.