我有一个名为user的Mysql数据库。这是一张图片: std::memcpy
我想更改用户的用户名" dodlo.rg"编程。
实际上,我有PHP-Version 7.1。这是我的PHPCode的一部分:
已编辑代码:
double x[100][100];
cv::Mat A(100,100,CV_64F);
std::memcpy(A.data, x, 100*100*sizeof(double));
但是我得到了错误:"你的SQL语法错误了;检查与您的MariaDB服务器版本对应的手册,以便在#" SELECT * FROM user'附近使用正确的语法。在第1行"
提前致谢。
答案 0 :(得分:1)
您必须将此查询转换为两部分
$sql1 = "UPDATE user SET username = $newName WHERE username = 'dodlo.rg'";
$sql2 = "SELECT * FROM user";
答案 1 :(得分:1)
问题在于两部分。 首先,由于此列是varchar字段,因此需要在引号内,否则会产生sql错误。 其次,后面的SELECT语句无效,但我想这是一个复制/粘贴错误。
因此,您的工作代码应为:
<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><string>value1</string><string>value2</string></ArrayOfstring>
另外,请考虑在where语句中使用主键而不是varchar字段,因为它可以在更复杂的查询时提高速度。 (例如$newName= $_POST["changeT"];
$db = mysqli_connect("trolö", "trolö", "trolö123", "trolö")
$sql = "UPDATE user SET username = '".addslashes($newName)."' WHERE username = 'dodlo.rg'";
$query = mysqli_query($db, $sql);
$response["successU"] = true;
)。
最后,但非常重要的是这段代码可能容易受到sql注入攻击。你需要使用准备好的陈述。