所以在这里我遇到了另一个问题。我不能将字符串推入mysql表。如果我使用数字,则效果很好。如果我尝试插入文本作为值,它也可以正常工作。放在html文本框中的文本没有运气。
$current_user = wp_get_current_user();
$hostname = "XXX";
$username = "XXX";
$password = "XXX";
$dbname= "XXX";
$connect=mysqli_connect($hostname, $username, $password, $dbname);
$sql="insert into wypozyczenia (czy_wypozyczony, sn, model) values (2,"
.mysql_escape_string($_POST['SN']).",
".mysql_escape_string($_POST['model']).")";
if ($current_user->ID=2)
{
?><form name="form" method="post" >
Model:</br>
<input type="text" name="model"></br>
Numer Seryjny</br>
<input type="text" name="SN"></br>
<input type="submit" name="button1" value="Send">
</form>
<?php
if(isset($_POST["button1"])){
$model=$_Post["model"];
$SN=$_Post["SN"];
?> <pre><?php var_dump($_POST); ?></pre><?php
mysqli_query($connect,$sql);}}
答案 0 :(得分:4)
尝试在双引号之前添加单引号,如下所示:
$sql = "insert into wypozyczenia (czy_wypozyczony, sn, model) values (2,
'".mysql_escape_string($_POST['SN'])."',
'".mysql_escape_string($_POST['model'])."')";
答案 1 :(得分:0)
您可以将sprintf用于美容代码或在PHP PDO中学习prepare语句
$sql = sprintf("insert into wypozyczenia (czy_wypozyczony, sn, model) values (2,'%s','%s')"
,mysql_escape_string($_POST['SN'])
,mysql_escape_string($_POST['model']));