我有一个名为“飞机”的数据库,里面有一个名为booking的表。预订表有phone(int type)、name(text type)、address(text type)、city(text type)、destination(text type)、date(text type)列。我只想获取phone列的值或数据等于用户输入的phone number的行。我为此编写了以下代码。对于上下文,我使用java和jdbc
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/airplane";
static final String USER = "root";
static final String PASS = "";
Connection conn = null;
try
{
System.out.println("enter cell no");
int cell=sc.nextInt();
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");
// My SQL SELECT query.
String query = "SELECT * FROM `booking` where phone=cell";
// creating the java statement
Statement st = conn.createStatement();
/**executing the query, and getting a java resultset of all rows whose phone
column has the value equal to one entered by user and stored by me in
int variable cell**/
ResultSet rs = st.executeQuery(query);
//iterate through the java resultset
while (rs.next())
{
int Phone = rs.getInt("phone");
String Name = rs.getString("name");
String Address = rs.getString("address");
String City = rs.getString("city");
String Destination = rs.getString("destination");
String Date = rs.getString("date");
// print the results
System.out.format("%d, %s, %s, %s, %s, %s\n", Phone, Name, Address, City, Destination, Date);
}
st.close();
}
catch (Exception e)
{
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
我得到一个错误:
Got an exception!
Unknown column 'cell' in 'where clause'
我做错什么了?
2条答案
按热度按时间kyks70gy1#
你会看到它要跑了
string query=“选择*自
booking
其中phone=“+”\“%s\”;query=string.format(查询,单元格);
gxwragnw2#
试试这个:
更好的处理方法是使用preparedstatement
在这种情况下,查询如下所示:
以及