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