php - 读取和写入 SQL 数据库

标签 php mysql sql json

我有一个将信息写入数据库的脚本,但是在根据输入的写入数据库的电子邮件更新相同的查询后,如何让它从数据库打印变量“时间”?这是与 JSON 一起使用的。

<?php
if(!empty($_POST))
{
$dbhost = 'localhost';


$dbuser = 'casaange_testapp';
$dbpass = 'testapp1';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
mysql_select_db('casaange_volunteertest');
$email= $_POST['email'];
$time= $_POST['time'];

$sql = "UPDATE users SET time= '$time' WHERE email = '$email'";



$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}

if($retval){
$response["success"] = 1;
$response["message"] = "Update successful!";
die(json_encode($response));
}

//echo '{"success":1, "message":"Time added!"}';
mysql_close($conn);
}
else
{
?>
<form method="post" action="timeinsert.php">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">Email:</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td width="100">Time:</td>
<td><input name="time" type="text" id="time"></td>
</tr>
<tr>
<td width="100"> </td>
<td> </td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="update" type="submit" id="update" value="Update">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>

最佳答案

我想你想知道的是UPDATE查询是否真的改变了数据库中的值?

您可以使用mysql_affected_rows()查看查询结果更改了多少行 - 在您的情况下,它将是1或0。

如果您需要返回刚刚存入数据库的时间,可以通过以电子邮件地址为键选择返回来查询实际存入数据库的值。

如果可以的话,对您的代码进行一些一般性观察:

  • 在将 POST 数据放入 SQL 查询之前,您必须转义该数据 像那样。最好的情况下,它会成为错误的来源,最坏的情况下会产生大量错误 安全漏洞。

  • 如果您正在编写新代码,正如您在这里所示,您应该 考虑使用较新的 MySQLi 或 PDO_MySQL 扩展而不是 旧的 MySQL 调用。

  • 您可以使用 json_encode 将关联的 PHP 数组转换为 JSON 对象,而不是自己构建 JSON 字符串。

关于php - 读取和写入 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22738510/

相关文章:

5.0 和 5.6 上的 MySQL 查询解释效率

php - Mysql 插入不起作用并且没有给出错误

mysql - sql中查找不同表中的同一列

php - 在 CakePHP 中,如何保留所有前缀?

php - 如何为用 PHP 生成的图像设置默认名称 'save image as'?

php - 查询消息列表

sql - SSRS 2008 不会从存储过程返回正确的数据集

php - 如何将年份黑白显示到特定日期

php - 如何将 SEOStats 与 Codeigniter 集成?

javascript - 为什么同一个 SQL 查询可能在 SQL Developer 和代码中返回不同的结果?