输入数据不会发布到sql只获得0,没有语法错误

时间:2017-04-04 22:28:59

标签: php mysql

<form method="POST" action="welcome.php">
<input name="fname" type="text"/>
<input type="submit" value="Submit">
</form>  

<?php
$connect = mysqli_connect("dbhost", "dbuser", "dbpass", "dbname");
mysqli_query($connect, 'INSERT INTO `Urls` (URLS)

VALUES
("$_POST[`fname`]");')
?>

因此,在多次修复php脚本后,我最终将其发布到数据库,但是不是发布用户输入,而是在列中发布0。我没有语法错误,我已经尝试了各种各样的方法。

The Table looks like:
URLS
0
0
0

1 个答案:

答案 0 :(得分:-1)

试一试。 PHP不会替换单引号中包含的字符串中的变量。使用连接。

<form method="POST" action="welcome.php">
<input name="fname" type="text"/>
<input type="submit" value="Submit">
</form>  

<?php
$connect = mysqli_connect("dbhost", "dbuser", "dbpass", "dbname");
mysqli_query($connect, 'INSERT INTO `Urls` (`URLS`)
VALUES
("'.$_POST['fname'].'");')
?>

正如评论中所提到的,这种整体风格对于SQL注入是可行的,并且仅用于显示OP代码的错误位置。