sprintf()的含义是什么:参数太少

时间:2015-08-12 01:57:26

标签: php mysql

我有像这样的SQL查询

if (isset($_POST['no_peserta_mhs_2015'])) {
$colname_rec_mhs_2015 = $_POST['no_peserta_mhs_2015'];
}
mysql_select_db($database_connect, $connect);
$query_rec_mhs_2015 = sprintf("SELECT * FROM mhs_2015 WHERE no_peserta_mhs_2015 = %s or nama_mhs_2015 like %s ", GetSQLValueString($colname_rec_mhs_2015, "text"));

但是我收到了这个错误

Warning: sprintf(): Too few arguments in C:\xampp\htdocs\gugus_2015\index.php on line 39 Query was empty

我不知道出了什么问题。

1 个答案:

答案 0 :(得分:10)

字符串中有两个%s项,但字符串后只提供一个参数。对于每个'%'格式字符串中的item,它期望在字符串后面的匹配参数用于在值中查找。

像这样:

sprintf("item 1: %s, item 2: %s", "item1", "item2");

你拥有的是:

sprintf("item 1: %s, item 2: %s", "item1");

所以没有条目2字符串匹配