Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用户名更改只更改数字,不更改文本_Php_Mysql - Fatal编程技术网

Php 用户名更改只更改数字,不更改文本

Php 用户名更改只更改数字,不更改文本,php,mysql,Php,Mysql,我有一个表单,用户可以使用它来更改他们的用户名,但它只适用于数字 用户名类型设置为VARCHAR,我可以手动设置文本用户名,注册时,可以使用插入代码将条目设置为文本 这是表格 <html> <center><h2>Username Change</h2></center> <body> <form method="post" action=""> <input type="text" name="som

我有一个表单,用户可以使用它来更改他们的用户名,但它只适用于数字

用户名类型设置为VARCHAR,我可以手动设置文本用户名,注册时,可以使用插入代码将条目设置为文本

这是表格

<html>
<center><h2>Username Change</h2></center>
<body>
 <form method="post" action="">
 <input type="text" name="something" value="<?= isset($_POST['something']) ?    ($_POST['something']) : '' ?>" />
 <input type="submit" name="submit" />
 </form>
不知道我哪里出错了

$change = mysqli_query($con,"UPDATE users SET users.username = '$newname' WHERE users.id=$id4"); $change=mysqli_query($con,“更新用户集users.username='$newname'WHERE users.id=$id4”);
您意识到字符串应该在SQL中引用。。。。。但在使用MySQLi时,请切换到使用准备好的语句和绑定变量。。。。那么你就不需要记住引用字符串或转义你的值,这样你就可以保护自己不受SQL注入的影响了,天哪,我总是错过那些愚蠢的事情!!谢谢有一个明显的sql注入问题。它解决了问题,但解决得很糟糕! $change = mysqli_query($con,"UPDATE users SET users.username = '$newname' WHERE users.id=$id4");