$SQL="SELECT first_name FROM people WHERE fname = '$fname' INSERT INTO (first_name) VALUES (fname)";
这有什么问题吗?尝试将用户定义变量中的值插入到mysql表中
警告:mysql_num_rows()要求参数1为资源,布尔值在第44行的D:\ wamp \ www \ Pxxxx \ process.php中给出
这是错误
$ fname是用户定义的变量 first_name是我试图将其插入的列,它位于名为people
的表中答案 0 :(得分:3)
您的订单已被倒置。看起来你正在寻找INSERT .. SELECT语法(参见MySQL文档:http://dev.mysql.com/doc/refman/5.6/en/insert-select.html)
INSERT INTO target_table (first_name)
SELECT fname
FROM people
WHERE fname = ?
从您的示例中不清楚您尝试插入数据的表的名称是什么,所以我只是在此处将其列为target_table
。
答案 1 :(得分:1)
您的SQL语句必须像这样重新排序:
"INSERT INTO people (fname) SELECT '$fname' FROM dual;"
这将从伪表“dual”中选择$ fname的值,并将值插入“people”。
也许这更合适:
"INSERT INTO people (fname) VALUES ('$fname');"
此代码段显示了一个简单的插入语句。
注意:请在维基百科上查看SQL注入。您正在编写的代码对这些类型的攻击是开放的。如果您正在编写PHP代码,请查看Prepared Statements和mysqli以防止这些攻击。