我有一个叫mysql的表 cashreg
它只有一行叫做 cashreg
设置为varchar 64和utf8\u general\u ci。问题是在使用此表单时:
<td>
<input placeholder="<?php echo SETTINGS_NEWCASHIER; ?>" class="form-control floating-label" name="newCashregInput" id="newCashreg" /></br>
<input style="width: 100%;" class="btn btn-success waves-effect waves-light" type="submit" name="newCashreg" id="newCashreg" align="right" value="Pridėti kasos aparatą"></input>
</td>
以及
if(isset($_POST['newCashreg'])) {
mysql_query("INSERT INTO ".$table['cashreg']." VALUES (".$_POST['newCashregInput'].")");
}
如果值仅由数字组成,例如“984133”,并且例如“851FF”、“gsdagsd”、“fsdfas521”无法添加,则可以将此表单中的数据添加到表中
3条答案
按热度按时间0wi1tuuw1#
您需要在sql查询中指定列名以插入记录。看到了吗https://www.w3schools.com/sql/sql_insert.asp
xsuvu9jc2#
我建议你调查pdo。你的代码不安全。
但你的问题的答案是库特斯。在连接sql语句之后,它是错误的。所以正确的字符串应该是
INSERT INTO cashreg VALUES ('value')
您可以毫无问题地插入数字,但如果您尝试插入字母数字字符串,则需要将其引用。更多信息https://dev.mysql.com/doc/refman/8.0/en/string-literals.html<?php if(isset($_POST['newCashreg'])) { mysql_query("INSERT INTO $table['cashreg']."VALUES('".$_POST['newCashregInput']."')"); }
ds97pgxw3#
你的语法错了。应该是:
停止使用古老的mysql库。它已从php中删除。请改用pdo。并且,您当前的代码容易受到sql注入攻击。
https://phpdelusions.net/pdo