我正在写一个非常简单的代码,无法弄清楚为什么参数不能用于我的SQL select。任何建议将不胜感激。
这是本地窗口的结果:
- [MySql.Data.MySqlClient.MySqlException] {“您的SQL语法出错;请查看与您的MySQL服务器对应的手册 在''AAIT_N''附近使用正确语法的版本 1“} MySql.Data.MySqlClient.MySqlException
MySqlConnection conn = new MySqlConnection(connString);
MySqlCommand cmd;
conn.Open();
try
{
cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * from @p ";
cmd.Parameters.AddWithValue("@p", sym);
string wait = Console.ReadLine();
MySqlDataReader myresults = cmd.ExecuteReader(); <=== Throws an exception
if (myresults.HasRows)
etc.
答案 0 :(得分:1)
不,您不能将表名作为参数传递。相反,你可以这样做
\app\code\local\muz\Worldman\controllers\Adminhtml\WorldmanController.php
答案 1 :(得分:0)
我认为你不能使用表名作为参数。
MySqlConnection conn = new MySqlConnection(connString);
MySqlCommand cmd;
conn.Open();
try
{
cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * from someTable where firstName = @p ";
cmd.Parameters.AddWithValue("@p", "yourValue");
Console.ReadLine();
MySqlDataReader myresults = cmd.ExecuteReader();
if (myresults.HasRows)
etc.