【发布时间】:2016-05-10 15:52:53
【问题描述】:
我正在尝试使用从 URL 获取的表名将数据插入到我的数据库中。我使用 phonegap 和 php。我的功能代码如下:
function create_promo($nom_restaurant,$codeBarre,$designation,$dateDebut,$dateFin,$prix,$TVA,$photo){
$db=new PDO('mysql:host=localhost;dbname=testf','root','');
$req=$db->prepare('insert into'.$nom_restaurant.'values(:codeBarre,:designation,:dateDebut,:dateFin,:prix,:TVA,:photo)');
$req->execute(array(':codeBarre'=>$codeBarre,':designation'=>$designation,':dateDebut'=>date("Y-m-d",strtotime($dateDebut)),':dateFin'=>date("Y-m-d",strtotime($dateFin)),':prix'=>$prix,':TVA'=>$TVA,':photo'=>$photo));
return "promotion creer";
}
我的 JQuery 代码:
$(document).ready(function()
{
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
var nom_restaurant = decodeURI(getUrlVars()["nom_restaurant"]);
//alert(nom);
/*$("#nom").val(nom);
var nom_restaurant=$("#nom").val();*/
$("#insert").click(function(){
var codeBarre=$("#codeBarre").val();
var designation=$("#designation").val();
var dateDebut=$("#dateDebut").val();
var dateFin=$("#dateFin").val();
var prix=$("#prix").val();
var TVA=$("#TVA").val();
var photo=$('#image-upload img').attr('src').substr($('#image-upload img').attr('src').lastIndexOf('/')+1);
var data="codeBarre="+codeBarre+"&designation="+designation+"&dateDebut="+dateDebut+"&dateFin="+dateFin+"&prix="+prix+"&TVA="+TVA+"&photo="+photo;
alert (data);
alert(nom_restaurant);
$.post("http://192.168.1.15/fou/promoCre.php",'nom_restaurant='+ nom_restaurant,function(data){
alert(data);
})
.done(function(data) {
alert( data+"second success" );
})
.fail(function(errMsg) {
alert(errMsg+ "error" );
})
});
});
我得到表名的url:
$("#new").append("<a href='ajout.html?nom_restaurant="+nom_restaurant+"'>"+"Nouvelle promotion"+"</a>");
我收到一个未定义的错误:nom_restaurant。
【问题讨论】:
-
你真的不想接受像
$non_restaurant这样的任意参数,然后毫无疑问地把它塞进你的查询中。 -
$nom_restaurant 正在从我的数据库表列表中获取。你能解释一下你的问题吗
-
您似乎将其从用户发送的参数中提取出来。这是bad news。
标签: javascript php jquery mysql cordova