MYSQL只有数字可以插入表中

时间:2018-07-16 12:29:35

标签: php html mysql forms

我有一个名为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”,则可以将此表格中的数据添加到表中

3 个答案:

答案 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注入攻击。

https://phpdelusions.net/pdo