Php MYSQL数据库的问题
我编辑了代码,现在页面加载了所有内容,但没有插入数据库:Php MYSQL数据库的问题,php,mysql,html,Php,Mysql,Html,我编辑了代码,现在页面加载了所有内容,但没有插入数据库: <body> <?php if($_SERVER['REQUEST_METHOD'] == 'POST') { require("serverInfo.php"); mysql_query("UPDATE `cardLists` SET `AmountLeft` = `AmountLeft` + ".mysql_real_escape_string($_POST['Add'])." WHERE `card
<body>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
require("serverInfo.php");
mysql_query("UPDATE `cardLists` SET `AmountLeft` = `AmountLeft` + ".mysql_real_escape_string($_POST['Add'])." WHERE `cardID` = '".mysql_real_escape_string($_POST['Cards'])."'");
echo "\"" .$_POST['Add'] ."\" has been added to the inventory amount for the card \"". $_POST['Cards']. "\"";
mysql_query("INSERT INTO `log` (`changes`, `amount`, `cardID`, `person`, `date`)VALUES('ADDED',".mysql_real_escape_string($_POST['Add']).",
".mysql_real_escape_string($_POST['Cards']).",".mysql_real_escape_string($_POST['Person']).", NOW())") or die (mysql_error());
mysql_close($link);
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<?php require("serverInfo.php"); ?>
<?php
$res = mysql_query("SELECT * FROM cardLists order by cardID") or die(mysql_error());
echo "<select name = 'Cards'>";
while($row=mysql_fetch_assoc($res)) {
echo "<option value=\"$row[cardID]\">$row[cardID]</option>";
}
echo "</select>";
?>
Amount to Add: <input type="text" name="Add" maxlength="8" />
Changes Made By: <select name="Person">
<option value="justin">Justin</option>
<option value="chris">Chris</option>
<option value="matt">Matt</option>
<option value="dan">Dan</option>
<option value="tim">Tim</option>
<option value="amanda">Amanda</option>
</select>
<input type="submit" name ="submit" onClick= "return confirm(
'Are you sure you want to add this amount?');">
</form>
<br />
<input type="button" name="main" value="Return To Main" onclick="window.location.href='index.php';" />
</body>
</html>
列日期是保留字。引用它或将其更改为非保留字
列日期是保留字。引用或将其更改为非保留字。除了dnagirl指出的日期
保留字外:
....VALUES('ADDED','$_POST['Add']'....
您不能在此处使用['x']
。您可以尝试:
....VALUES('ADDED','{$_POST['Add']}'....
或者这个,在字符串文本中是可以的,但有问题,因为它在字符串文本之外是错误的:
....VALUES('ADDED','$_POST[Add]'....
但这仍然是SQL注入。您需要:
....VALUES('ADDED','".mysql_real_escape_string($_POST['Add'])."'....
这是:
"... + ".mysql_real_escape_string($_POST['Add'])." ... "
您没有在该文本周围加单引号,因此尽管有转义调用,您仍然有SQL注入。在其周围加引号,或者如果要确保它始终为整数,请使用intval
(你知道,参数化查询很好。)
那应该是干什么的?$link
从哪里来
... action="<?php echo $_SERVER['PHP_SELF']; ?>" ...
echo "<option value=\"$row[cardID]\">$row[cardID]</option>";
echo "\"" .$_POST['Add'] ."\" has been added ..."
使用Submit上的表单
。除dnagirl指出的日期
保留字外:
....VALUES('ADDED','$_POST['Add']'....
您不能在此处使用['x']
。您可以尝试:
....VALUES('ADDED','{$_POST['Add']}'....
或者这个,在字符串文本中是可以的,但有问题,因为它在字符串文本之外是错误的:
....VALUES('ADDED','$_POST[Add]'....
但这仍然是SQL注入。您需要:
....VALUES('ADDED','".mysql_real_escape_string($_POST['Add'])."'....
这是:
"... + ".mysql_real_escape_string($_POST['Add'])." ... "
您没有在该文本周围加单引号,因此尽管有转义调用,您仍然有SQL注入。在其周围加引号,或者如果要确保它始终为整数,请使用intval
(你知道,参数化查询很好。)
那应该是干什么的?$link
从哪里来
... action="<?php echo $_SERVER['PHP_SELF']; ?>" ...
echo "<option value=\"$row[cardID]\">$row[cardID]</option>";
echo "\"" .$_POST['Add'] ."\" has been added ..."
使用submit上的表单进行此操作。
"INSERT INTO `log` (`changes`, `amount`, `cardID`, `person`, Date)VALUES('ADDED','$_POST['Add']','$_POST['Cards']', '$_POST['Person']', NOW())"
填写参数值,当然替换日期,然后手动将其放入数据库
并使用mysql\u查询的返回值,使用:
编辑
$var="INSERT INTO `log` (`changes`, `amount`, `cardID`, `person`, Date)VALUES('ADDED','$_POST['Add']','$_POST['Cards']', '$_POST['Person']', NOW())";
echo $var; // will show up in logs
mysql_query($var);
我会重复这句话
"INSERT INTO `log` (`changes`, `amount`, `cardID`, `person`, Date)VALUES('ADDED','$_POST['Add']','$_POST['Cards']', '$_POST['Person']', NOW())"
填写参数值,当然替换日期,然后手动将其放入数据库
并使用mysql\u查询的返回值,使用:
编辑
$var="INSERT INTO `log` (`changes`, `amount`, `cardID`, `person`, Date)VALUES('ADDED','$_POST['Add']','$_POST['Cards']', '$_POST['Person']', NOW())";
echo $var; // will show up in logs
mysql_query($var);
我更改了单词,但仍然没有解决问题使用mysql\u query(“INSERT-INTO etc..”)检查错误或死亡(mysql\u error())代码>我更改了单词,但仍然没有解决问题使用mysql\u query(“INSERT-INTO etc.”)检查错误或死亡(mysql\u error())代码>我不确定如何使用intval,但我将在该行中查找更多关于模板问题的内容我不确定如何使用intval,但我将在该行中查找更多关于模板问题的内容您所说的回送该行是什么意思?回送该行是什么意思?