我有一个名为cashreg
的MySQL表,它只有一行也称为cashreg
,并设置为VARCHAR 64和utf8_general_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”),而不能添加“ 851fff”,“ gsdagsd”,“ fsdfas521”,则可以将此表格中的数据添加到表中
答案 0 :(得分:1)
您需要在SQL查询中指定列名以插入记录。参见https://www.w3schools.com/sql/sql_insert.asp
答案 1 :(得分:0)
我建议您研究PDO。您的代码不安全。
但是您问题的答案是qoutes。连接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']."')");
}
答案 2 :(得分:-2)
您的语法错误。应该是:
Question
停止使用古老的mysql库。它已从PHP中删除。请改为使用PDO。使用准备好的语句,您当前的代码容易受到SQL注入攻击。