php - 重新配置后,MySQL 数据库未从 WampServer 中的 android 接收 post 变量

标签 php android mysql database wamp

作为一个项目,我在 WampServer 中使用 PHPMyAdmin 创建了一个 MySQL 数据库。特定的表bus_location有3个字段:Bus_Num、纬度和经度,这些变量将以 JSON 格式进行解析,并在随附的 PHP 脚本的帮助下以 post 形式发送到数据库。然后,另一个 Android 应用程序将检索该信息并将其放置在 map 上。不幸的是,配置为外部访问 Wamp 的 PC 崩溃了,我不得不在新机器上重新配置 WampServer。据我所知,一切配置都是相同的,尽管现在数据没有像以前那样使用 POST 放入数据库中。我不明白为什么我要提供 PHP 脚本以及表结构的屏幕截图。

我在应用程序方面工作的合作伙伴说,自从我们去年 Spring 让它工作以来,他的代码就没有被触及过。所以我相信这是一个略有不同的数据库或 PHP 代码。 PHP代码如下

<html>
<head>
<title>PHP Test</title>
</head>
<body>

<?php

$hostname = "localhost";
$database = "bus_times";
$username = "root";
$password = "";
$localhost = mysql_connect($hostname, $username, $password) or die ("connection failed.");
mysql_select_db($database) or die ("database selection failed");

// this script should receive two things: a location and the bus which sent the location. This query goes into the bus_location table, finds the row corresponding to the right bus, and overwrites the location 
$query = mysql_query("UPDATE bus_location SET Longitude=".$_POST['longitude']." WHERE Bus_Num=".$_POST['bus_num']. "AND Latitude=".$_POST['latitude']."");





if ($query_run = mysql_query($query)) {
echo 'Success.';
} else {
echo mysql_error();
}


mysql_close ();

?>

</body>
</html>

我很抱歉,因为我没有我的合作伙伴用于发送帖子变量的应用程序的代码,但他向我保证,自从我们开始工作以来,他没有碰过它。我也相当确定我创建了同一张表,因为我在机器崩溃之前截取了屏幕截图。我无法发布表格结构的图像,因为我的代表不够高,但如果有人至少可以尝试向我指出正确的方向,以了解可能出现的错误,我将不胜感激。

最佳答案

我发现您的代码有几个问题:

  1. 不要直接将 POST 变量放入 MySQL 查询。这可能被用作 SQL 注入(inject),并成为您应用程序的潜在劫持门。在将 $_POST 值放入 mysql_query() 命令之前,请务必对其进行处理。

  2. 不要再使用mysql_*。使用 MySQL 的新接口(interface):PDO 或 MySQLi,它更适合您的代码。

  3. 仅查看这段代码很难判断出了什么问题,但可能的问题是:

    • MySQL 权限:尝试使用您手动使用的凭据连接到数据库。

    • 某些 PHP 模块未安装,例如 php5-mysql

    • 代码中存在一些拼写错误。

当然,我会在直接使用 POST 之前尝试使用 CLI 对其进行调试。如果您无法访问CLI,请使用print_r()echo根据需要进行多次,直到找到罪魁祸首。

关于php - 重新配置后,MySQL 数据库未从 WampServer 中的 android 接收 post 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22364321/

相关文章:

java - 开发 Java Swing 应用程序,该应用程序将使用数据库存储数据并将其显示在 JFrame 上

php - 处理 php 页面错误的最佳方法?

php - 转义变量

php - 使用 sha256WithRSAEncryption 签名需要什么版本的 OpenSSL

android - 通过 Firebase Cloud Messaging 向 Android 设备发送消息

mysql - 如何通过 mysql 在 magento 中获取客户名称、电子邮件和密码

php - Symfony 分析器抛出 404

javascript - meteor run android-spawn ENOENT 和来自 Cordova 的 gradle 错误

java - 无法将字符串转换为整数

php - 如何根据另一个单元格的值将文本回显到单元格