PHP的MySQL插入到GET方法 [英] PHP MySQL insert into with GET method

查看:111
本文介绍了PHP的MySQL插入到GET方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试管理小组的工作。我下载了这个示例管理面板设计: http://medialoot.com/item/html5-admin-模板/



HTML结构: http: //pastebin.ubuntu.com/5940949/

我试过了PHP代码,

<$ p $如果($ set)($ _ GET ['submit'])){
if($ _ FILES [carImage] [error]> 0){
echo'< script type =text / javascript> alert('。File not upload。$ _FILES [carImage] [error]。');<脚本>';
} else {
if(!is_dir(../ inc / imj / cars)){
mkdir(../ inc / imj / cars);
}
$ carImage_ =../inc/imj/cars\".$_FILES[\"carImage\"][\"name];
move_uploaded_file($ _ FILES [carImage] [tmp_name],$ carImage_);
$ b mysql_query(

插入内容('indexId','catId','carModelName','carCash','carImage','carAlt','carTitle' ,'carKMH','carWeight','carWheelInch','carColur','info')
VALUES(NULL,'。$ _ GET ['catId']。','。$ _ GET [ carModelName ']。' ' $ _ GET [ 'carCash'。' ' $ carImage _', ' $ _ GET [ 'carAlt'。''。$ _ GET [ 'carTitle'。 ''。$ _ GET [ 'carKMH'。 ''。$ _ GET [ 'carWeight'。 ''。$ _ GET [ 'carWheelInch']。, ''。$ _ GET ['carColur']。','。$ _ GET ['info']。')

);

}
}
?>

我尝试了另外的查询代码,

 mysql_query(

INSERT INTO contents('indexId','catId','carModelName','carCash','carImage','carAlt','carTitle ','carKMH','carWeight','carWheelInch','carColur','info')
VALUES(NULL,。$ _ GET ['catId']。,。$ _ GET ['carModelName' ]。 。$ _ GET [ 'carCash']。 。$ carImage _ 。$ _ GET [ 'carAlt']。 。$ _ GET [ 'carTitle']。 。$ _GET [ 'carKMH']。 。$ _ GET [ 'carWeight']。 。$ _ GET [ 'carWheelInch']。 。$ _ GET [ 'carColur']。 。$ _ GET [ 'info']。)

);

我猜文件没有上传。所以不行。



因为错误;

注意:未定义索引:carImage in ..



注意:未定义的索引:bilgi in ..
$ b

注意:TABLE contents.indexId是主键和自动增量。



如何解决我们的问题?

感谢您的关注。
$ b

更新

图片上传问题是;

 <?php 
$ catId = isset($ _ GET ['catId'])? $ _GET ['catId']:;
$ carModelName = isset($ _ GET ['carModelName'])? $ _GET ['carModelName']:;
$ carCash = isset($ _ GET ['carCash'])? $ _GET ['carCash']:;
$ carAlt = isset($ _ GET ['carAlt'])? $ _GET ['carAlt']:;
$ carTitle = isset($ _ GET ['carTitle'])? $ _GET ['carTitle']:;
$ carKMH = isset($ _ GET ['carKMH'])? $ _GET ['carKMH']:;
$ carWeight = isset($ _ GET ['carWeight'])? $ _GET ['carWeight']:;
$ carWheelInch = isset($ _ GET ['carWheelInch'])? $ _GET ['carWheelInch']:;
$ carColur = isset($ _ GET ['carColur'])? $ _GET ['carColur']:;
$ info = isset($ _ GET ['info'])? $ _GET ['info']:;
if(isset($ _ GET ['submit'])){
if($ _ FILES [carImage] [error]> 0){
echo'< script (。文件没有上传。$ _FILES [carImage] [error]。');< / script>';
} else {

$ carUrl_ =../inc/imj/urun;
if(!is_dir($ carUrl _)){mkdir($ carUrl_);}

$ carImage_ = $ carUrl _。$ _ FILES [carImage] [name];
$ carUrlName = $ _FILES [carImage] [name];
move_uploaded_file($ _ FILES [carImage] [tmp_name],$ carImage_);
$ b mysql_query(

插入内容('indexId','catId','carModelName','carCash','carImage','carAlt','carTitle' ,'carKMH','carWeight','carWheelInch','carColur','info')
VALUES(。$ catId。,。$ _ GET ['carModelName']。,。$ _ GET [ 'carCash']。 $ carUrlName。 $ carAlt。 $ carTitle。 $ carKMH。 $ carWeight。 $ carWheelInch。 。$ carColur。,。$ info。)

);

}
}
?>

更新2

 <?php 
$ catId = isset($ _ GET ['catId'])? $ _GET ['catId']:;
$ carModelName = isset($ _ GET ['carModelName'])? $ _GET ['carModelName']:;
$ carCash = isset($ _ GET ['carCash'])? $ _GET ['carCash']:;
$ carAlt = isset($ _ GET ['carAlt'])? $ _GET ['carAlt']:;
$ carTitle = isset($ _ GET ['carTitle'])? $ _GET ['carTitle']:;
$ carKMH = isset($ _ GET ['carKMH'])? $ _GET ['carKMH']:;
$ carWeight = isset($ _ GET ['carWeight'])? $ _GET ['carWeight']:;
$ carWheelInch = isset($ _ GET ['carWheelInch'])? $ _GET ['carWheelInch']:;
$ carColur = isset($ _ GET ['carColur'])? $ _GET ['carColur']:;
$ info = isset($ _ GET ['info'])? $ _GET ['info']:;
if(isset($ _ GET ['submit'])){

mysql_query(

INSERT INTO contents('indexId','catId',' carModelName,carCash,carImage,carAlt,carTitle,carKMH,carWeight,carWheelInch,carColur,info,
VALUES , $ _ GET [ 'carModelName']。, $ _ GET [ 'carCash'。 tryImg.png $ carAlt。, $ carTitle。, $ carKMH。 ,。$ carWeight,。$ carWheelInch。,。$ carColur。,。$ info。)

);

}
?>


解决方案

对于get中的每个变量,设置之前使用它在mysql插入语句。

  $ variable =(isset($ _ GET ['variable']))? $ _GET ['variable']:; 

不要插入indexId,它会自动递增,您可以从查询语句中删除它。

  mysql_query(

INSERT INTO contents('catId','carModelName','carCash' ,'carImage','carAlt','carTitle','carKMH','carWeight','carWheelInch','carColur','info')
VALUES(。$ _ GET ['catId'] $ _ GET [ 'carModelName']。, $ _ GET [ 'carCash']。, $ carImage _, $ _ GET [ 'carAlt']。,。$ _ GET [ carTitle ']。 。$ _ GET [' carKMH ']。 。$ _ GET [' carWeight ']。 。$ _ GET [' carWheelInch ']。 。$ _ GET [' carColur ]。,。$ _ GET ['info']。)

);

更新 p>当用户离开一个字段为空时,

$ $ p $ is $($ _ GET ['that-field'])

返回false,即没有设置的值

else isset返回true,即用户设置该变量的值。

所以你不能使用$ _GET ['var']而不知道var是否被赋值。
如果用户没有给出任何值,那么在将其输入到数据库之前,您必须自己设置它。

因此,使用

  if(isset($ _GET ['variable'])){
$ variable = $ _GET ['variable'];
} else {
$ variable =;



$ b $ p
$ b

在运行mysql查询之前,您必须对所有变量执行此操作,并使用'$ variable'代替 $ _ GET ['variable']


I am trying admin panel work. I downloaded this example admin panel design: http://medialoot.com/item/html5-admin-template/

HTML structure: http://pastebin.ubuntu.com/5940949/

I tried PHP code,

<?php
if(isset($_GET['submit'])){
    if($_FILES["carImage"]["error"] > 0){
    echo '<script type="text/javascript">alert('."File not upload" . $_FILES["carImage"]["error"].');</script>';
    }else{
        if(!is_dir("../inc/imj/cars")){
            mkdir("../inc/imj/cars");
        }
        $carImage_ = "../inc/imj/cars".$_FILES["carImage"]["name"];
        move_uploaded_file($_FILES["carImage"]["tmp_name"],$carImage_);

        mysql_query("

        INSERT INTO contents ('indexId','catId','carModelName','carCash','carImage','carAlt','carTitle','carKMH','carWeight','carWheelInch','carColur','info')
        VALUES (NULL,'".$_GET['catId']."','".$_GET['carModelName']."','".$_GET['carCash']."','".$carImage_."','".$_GET['carAlt']."','".$_GET['carTitle']."','".$_GET['carKMH']."','".$_GET['carWeight']."','".$_GET['carWheelInch']."','".$_GET['carColur']."','".$_GET['info']."')

        ");

    }
}       
?>

I tried alternative query code,

mysql_query("

INSERT INTO contents ('indexId','catId','carModelName','carCash','carImage','carAlt','carTitle','carKMH','carWeight','carWheelInch','carColur','info')
VALUES (NULL,".$_GET['catId'].",".$_GET['carModelName'].",".$_GET['carCash'].",".$carImage_.",".$_GET['carAlt'].",".$_GET['carTitle'].",".$_GET['carKMH'].",".$_GET['carWeight'].",".$_GET['carWheelInch'].",".$_GET['carColur'].",".$_GET['info'].")

");

I guess file not uploading. so not working.

Because errors;

Notice: Undefined index: carImage in ..

Notice: Undefined index: bilgi in ..

note: TABLE contents.indexId is primary key and auto increment.

How solve we do?

Thank you for your interest.

UPDATE

Image upload problem is;

<?php
$catId = isset($_GET['catId']) ? $_GET['catId'] : "";
$carModelName = isset($_GET['carModelName']) ? $_GET['carModelName'] : "";
$carCash = isset($_GET['carCash']) ? $_GET['carCash'] : "";
$carAlt = isset($_GET['carAlt']) ? $_GET['carAlt'] : "";
$carTitle = isset($_GET['carTitle']) ? $_GET['carTitle'] : "";
$carKMH = isset($_GET['carKMH']) ? $_GET['carKMH'] : "";
$carWeight = isset($_GET['carWeight']) ? $_GET['carWeight'] : "";
$carWheelInch = isset($_GET['carWheelInch']) ? $_GET['carWheelInch'] : "";
$carColur = isset($_GET['carColur']) ? $_GET['carColur'] : "";
$info = isset($_GET['info']) ? $_GET['info'] : "";
if(isset($_GET['submit'])){
    if($_FILES["carImage"]["error"] > 0){
    echo '<script type="text/javascript">alert('."File not upload" . $_FILES["carImage"]["error"].');</script>';
    }else{

        $carUrl_ = "../inc/imj/urun";
        if(!is_dir($carUrl_)){mkdir($carUrl_);}

        $carImage_ = $carUrl_.$_FILES["carImage"]["name"];
        $carUrlName = $_FILES["carImage"]["name"];
        move_uploaded_file($_FILES["carImage"]["tmp_name"],$carImage_);

        mysql_query("

        INSERT INTO contents ('indexId','catId','carModelName','carCash','carImage','carAlt','carTitle','carKMH','carWeight','carWheelInch','carColur','info')
        VALUES (".$catId.",".$_GET['carModelName'].",".$_GET['carCash'].",".$carUrlName.",".$carAlt.",".$carTitle.",".$carKMH.",".$carWeight.",".$carWheelInch.",".$carColur.",".$info.")

        ");

    }
}       
?>

Update 2

<?php
$catId = isset($_GET['catId']) ? $_GET['catId'] : "";
$carModelName = isset($_GET['carModelName']) ? $_GET['carModelName'] : "";
$carCash = isset($_GET['carCash']) ? $_GET['carCash'] : "";
$carAlt = isset($_GET['carAlt']) ? $_GET['carAlt'] : "";
$carTitle = isset($_GET['carTitle']) ? $_GET['carTitle'] : "";
$carKMH = isset($_GET['carKMH']) ? $_GET['carKMH'] : "";
$carWeight = isset($_GET['carWeight']) ? $_GET['carWeight'] : "";
$carWheelInch = isset($_GET['carWheelInch']) ? $_GET['carWheelInch'] : "";
$carColur = isset($_GET['carColur']) ? $_GET['carColur'] : "";
$info = isset($_GET['info']) ? $_GET['info'] : "";
if(isset($_GET['submit'])){

        mysql_query("

        INSERT INTO contents ('indexId','catId','carModelName','carCash','carImage','carAlt','carTitle','carKMH','carWeight','carWheelInch','carColur','info')
        VALUES (".$catId.",".$_GET['carModelName'].",".$_GET['carCash'].",tryImg.png,".$carAlt.",".$carTitle.",".$carKMH.",".$carWeight.",".$carWheelInch.",".$carColur.",".$info.")

        ");

}       
?>

解决方案

For each variable in get, check if the variable was set before using it in mysql insert statement.

$variable = (isset($_GET['variable'])) ? $_GET['variable'] : "";

And do not insert indexId, it will be incremented automatically, you can just drop it from query statement.

mysql_query("

INSERT INTO contents ('catId','carModelName','carCash','carImage','carAlt','carTitle','carKMH','carWeight','carWheelInch','carColur','info')
VALUES (".$_GET['catId'].",".$_GET['carModelName'].",".$_GET['carCash'].",".$carImage_.",".$_GET['carAlt'].",".$_GET['carTitle'].",".$_GET['carKMH'].",".$_GET['carWeight'].",".$_GET['carWheelInch'].",".$_GET['carColur'].",".$_GET['info'].")

");

Update

When a user leave a field empty,

isset($_GET['that-field']) 

returns false, i.e. value not set.

else isset returns true, i.e. user set the value for that variable.

So you cannot use $_GET['var'] without knowing var was given some value or not. If user did not give any value, you will have to set it yourself before entering it to database.

So use,

if(isset($_GET['variable'])){
   $variable = $_GET['variable'];
} else{
   $variable = "";
}

You will have to do it for all variables, before you run the mysql query, and use '$variable' there instead of $_GET['variable'].

这篇关于PHP的MySQL插入到GET方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆