你好
我想从MySql数据库中的api写入数据,我有api.js文件从api获取数据和php文件将数据写入MySql表;
api.js
$(function()
{
var $orders = $('#orders');
$.ajax({
type:'GET',
url:'http://datatank.stad.gent/4/cultuursportvrijetijd/gentsefeestenlocaties.json',
success: function(orders) {
dataType:'json', // add json datatype to get json
data: ({name: orders})
$.each(orders, function(i, order) {
$orders.append('<li>id: ' + order.id + ', ' + order.naam);
});
},
});
以下代码是我的 php.file
<?php
define('DB_HOST', '');
define('DB_NAME', '');
define('DB_USER','');
define('DB_PASSWORD','');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
$myArray = $_GET['name'];
echo ($myArray);
print_r ($myArray);
echo ('Mattijs');
foreach ($myArray as $row)
{
echo($row[0]);
$query = mysql_query("INSERT INTO `straat`(`ID`, `StraatFeest`) VALUES ('" + $row[0] + "','" + $row[1] + "')") or die(mysql_error());
}
//$query = mysql_query("INSERT INTO `straat`(`ID`, `StraatFeest`) VALUES ('dd','dd')") or die(mysql_error());
$row = mysql_fetch_array($query) or die(mysql_error());
?>
myArray 仍然为空
我没有从ajax文件中获取数据
谢谢
最佳答案
你不需要api.js
,你也可以使用php获取json(另外,php中的字符串连接不是使用+
完成的,所以使用 .
代替):
$myArray = json_decode(file_get_contents('http://datatank.stad.gent/4/cultuursportvrijetijd/gentsefeestenlocaties.json'));
foreach ($myArray as $feest)
{
$query = mysql_query("INSERT INTO `straat`(`ID`, `StraatFeest`) VALUES (". $feest->id .",'". $feest->naam ."')") or die(mysql_error());
}
您应该阅读this如果您需要处理名称或 ID 中带有引号或特殊字符的条目。
关于javascript - 在 PHP 变量中使用 Ajax 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36112165/