[英]Updating MySQL database with PHP
基本上,我试图使用PHP更新MySQL数据库,并使用HTML表单对其进行测试。
我打算在一个Android应用程序中使用它,以便从中获取值,但是目前我仅使用HTML表单进行测试以测试PHP代码。 当我使用HTML表单进行测试时,相应的数据当前未更新。
我的代码导致了什么问题?
PHP代码:
/*
* Following code will create a new product row
* All player details are read from HTTP Post Request
*/
// array for JSON response
$response = array();
// check for required fields
if (isset($_POST['PlayerID']) && isset($_POST['Score']) && isset($_POST['LastHolePlayed'])&&
isset($_POST['Overall'])) {
$playerid = $_POST['PlayerID'];
$score = $_POST['Score'];
$lastholeplayed = $_POST['LastHolePlayed'];
$overall = $_POST['Overall'];
// include db connect class
require('db_connection.php');
// mysql inserting a new row
$result = mysql_query("UPDATE `week1` SET Score = `$score`, LastHolePlayed = `$lastholeplayed`,
Overall` = $overall` WHERE PlayerID = `$playerid`");
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Player successfully added.";
// echoing JSON response
echo json_encode($response);
} else {
// failed to insert row
$response["success"] = 0;
$response["message"] = "An error occurred.";
// echoing JSON response
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
html代码:
<form action="http://localhost/realdeal/updateplayer.php" method="POST">
PlayerID <input type="text" id='PlayerID' name='PlayerID'><br/><br/>
Score <input type="text" id='Score' name='Score'><br/><br/>
LastHolePlayed <input type="text" id='LastHolePlayed' name='LastHolePlayed'><br/><br/>
Overall <input type="text" id='Overall' name='Overall'><br/><br/>
<input type="submit" value="submit">
</form>
将查询更改为:
$result = mysql_query("UPDATE `week1` SET `Score` = '$score', `LastHolePlayed` = '$lastholeplayed', `Overall` = '$overall' WHERE `PlayerID` = '$playerid'");
您的查询定界符需要更正:
$result = mysql_query("UPDATE `week1` SET Score = '$score', `LastHolePlayed` = '$lastholeplayed', `Overall` = '$overall' WHERE `PlayerID` = '$playerid'");
请注意,列名和表名周围的反引号(`)和值周围的单引号(')。
另外,调试查询时,请始终检查MySQL错误:
$result mysql_query(...) or die("Query failed: " . mysql_error() );
最后,您应该知道查询使您容易受到SQL注入攻击的影响。 在将输入数据包括在查询中之前,请始终对其进行清理。
您的sql语句错误。 您可以如上所述编写,也可以直接编写不带撇号的语句-$ result = mysql_query(“ UPDATE week1 SET Score = $ score,LastHolePlayed = $ lastholeplayed,总体= $ overall WHERE PlayerID = $ playerid”);
此外,您能否解释一下“未更新适当的数据”是什么意思。 如果您给出/陈述所得到的错误,将会更加清楚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.