Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
155 views
in Technique[技术] by (71.8m points)

php - SQL syntax error: can't be found

I'm new to SQL so i'm probably missing something. Apparently I have a syntax error on this line:

 $mysql = 'INSERT INTO Orders (Name, Recipient, Destination, Room, Message, Anonymous, OffCampus, OffCampusAddress) VALUES (?, ?, ?, ?, ?, ?, ?, ?)';

Could anyone help me identify what I am doing wrong? Thanks in advance

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, ?, ?, ?, ?, ?, ?, ?)' at line 1

Here is my parameter binding:

  mysqli_stmt_bind_param($stmt, 'ssssssss', $name, $recipient, $destination, $room, $message, $anonymous, $offcampus, $offcampusaddress);
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It should look like this:

 $link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');
 $mysql = "INSERT INTO Orders
" + 
          "(Name, Recipient, Destination, Room, Message, Anonymous, OffCampus, OffCampusAddress)
" + 
          "VALUES
" + 
          "(?, ?, ?, ?, ?, ?, ?, ?)";
 $stmt = mysqli_prepare($link, $mysql);
 mysqli_stmt_bind_param($stmt, 'ssssssss', $name, $recipient, $destination, $room, $message, $anonymous, $offcampus, $offcampusaddress);
 mysqli_stmt_execute($stmt);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...