Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Trouoble与Ajax一起提交到数据库_Php_Ajax_Database - Fatal编程技术网

Php Trouoble与Ajax一起提交到数据库

Php Trouoble与Ajax一起提交到数据库,php,ajax,database,Php,Ajax,Database,我有以下表格: <form method = \"get\" action = \"\" onsubmit = \"return addBeer('$user','$id','$name','$abv','$ibu','$icon','$style','$brewery','$breweryID','$icon')\" > <p> <input type = \"submit\" value = \"Go Fishing\" /> </p> &

我有以下表格:

<form method = \"get\" action = \"\" onsubmit = \"return addBeer('$user','$id','$name','$abv','$ibu','$icon','$style','$brewery','$breweryID','$icon')\" >

<p> <input type = \"submit\" value = \"Go Fishing\" /> </p>

</form>
所有警报都有效,因此我知道,信息正在从表单传递到函数,但在ajax调用addBeer.php时失败,因为它运行错误函数并弹出错误警报。不幸的是,弹出窗口中没有报告任何内容

这是要添加到数据库的addBeer.php文件:

<?php

                require_once('myConnectDB.inc.php');
                require_once('page.inc.php');

                session_start();





                        //add beer to database code
                        $userID = $_POST['uID'];
                        $beerName = $_POST['bName'];
                        $beerID = $_POST['bid'];
                        $brewery = $_POST['bBrewery'];
                        $style = $_POST['bStyle'];

                        $abv = $_POST['abv'];
                        $ibu = $_POST['ibu'];
                        $breweryID = $_POST['breweryID'];
                        //$icon = $_POST['icon'];


                        //get brewery icon
                        $uri3 = "http://api.brewerydb.com/v2/brewery/$breweryID?key=myKey&format=json";
                        $response3 = file_get_contents($uri3);
                        //parse xml
                        $myBrew = json_decode($response3);
                        $iconBrew = $myBrew->data->images->medium;

                        //add above data to database
                        $db = new myConnectDB();

                        $beerName = $db->real_escape_string($beerName);
                        $beerID = $db->real_escape_string($beerID);
                        $brewery = $db->real_escape_string($brewery);
                        $style = $db->real_escape_string($style);
                        $userID = $db->real_escape_string($userID);
                        $abv = $db->real_escape_string($abv);
                        $ibu = $db->real_escape_string($ibu);
                        $breweryID = $db->real_escape_string($breweryID);           
                        $icon = $db->real_escape_string($icon); 




                        $query3 = "INSERT INTO tableName (userID,beerID,beerName,beerStyle,beerBrewery,abv,ibu,breweryID,icon, brewIcon) VALUES ($userID, '$beerID', '$beerName', '$style' , '$brewery', '$abv','$ibu','$breweryID', '$icon', '$iconBrew')";
                        $db->query($query3);


                ?>

你的方法是
GET
在表单中,但是
POST
在你的Ajax中。

在经历了很多挫折之后,我解决了我的问题。我发送的信息,我从另一个数据库查询,所有这些信息并不总是完整的


如果我单击submit,它和函数调用中的一个变量是空字符串,它不喜欢它

你可能想通过从AddBeerTanks返回false来阻止表单提交。我忘记了这一点,想知道为什么我的页面仍在刷新。嗨,Mike,你能编辑你的帖子并解释一下为什么要在表单HTML中转义引号吗?这一点很不清楚。@jmort253谢谢你的建议,我在上面添加了你要求的信息。另外,你是否尝试过提取所有的DB代码,只是回显你从AJAX收到的信息?这将进一步有助于缩小错误的来源,这样您就不必发布整个项目。;)例如,如果在没有DB代码的情况下没有出现错误,那么问题出在DB代码中,如果在没有DB代码的情况下仍然出现错误,那么问题可能出在AJAX中。另外,NET选项卡在调试器中显示了什么?你收到服务器的回复了吗?我把它改成了一个帖子,但它不起作用。我认为这不应该解决问题,因为表单并没有真正提交任何东西,只是调用一个函数。嗯,可能是因为您在addBeer()前面写了return另外,如果它没有插入到数据库中,可能是因为在插入查询中没有在$userID周围添加单引号,希望这可以修复它。我不认为我需要在$userID上添加单引号,因为它是int而不是字符串。不管怎样,我尝试了一下,它没有改变任何东西。那么,确切的问题是什么,它没有插入还是ajax没有将您的信息发送到php文件?我非常确定,它发送到php文件的依据是我在阅读我页面的chrome中的inspect元素的帖子中所说的。但是必须在某个地方抛出一个错误,因为它会转到ajax调用中的error函数。
<?php

                require_once('myConnectDB.inc.php');
                require_once('page.inc.php');

                session_start();





                        //add beer to database code
                        $userID = $_POST['uID'];
                        $beerName = $_POST['bName'];
                        $beerID = $_POST['bid'];
                        $brewery = $_POST['bBrewery'];
                        $style = $_POST['bStyle'];

                        $abv = $_POST['abv'];
                        $ibu = $_POST['ibu'];
                        $breweryID = $_POST['breweryID'];
                        //$icon = $_POST['icon'];


                        //get brewery icon
                        $uri3 = "http://api.brewerydb.com/v2/brewery/$breweryID?key=myKey&format=json";
                        $response3 = file_get_contents($uri3);
                        //parse xml
                        $myBrew = json_decode($response3);
                        $iconBrew = $myBrew->data->images->medium;

                        //add above data to database
                        $db = new myConnectDB();

                        $beerName = $db->real_escape_string($beerName);
                        $beerID = $db->real_escape_string($beerID);
                        $brewery = $db->real_escape_string($brewery);
                        $style = $db->real_escape_string($style);
                        $userID = $db->real_escape_string($userID);
                        $abv = $db->real_escape_string($abv);
                        $ibu = $db->real_escape_string($ibu);
                        $breweryID = $db->real_escape_string($breweryID);           
                        $icon = $db->real_escape_string($icon); 




                        $query3 = "INSERT INTO tableName (userID,beerID,beerName,beerStyle,beerBrewery,abv,ibu,breweryID,icon, brewIcon) VALUES ($userID, '$beerID', '$beerName', '$style' , '$brewery', '$abv','$ibu','$breweryID', '$icon', '$iconBrew')";
                        $db->query($query3);


                ?>