Похоже, вам просто нужно сдвинуться вправо, пока не получите «1».
using T = unsigned char;
int lgfloor(T value)
{
assert(value > 0);
int log = 0;
while(value != 1) {
value >> 1;
log++;
}
return log;
}
Вы звоните mysql_query()
дважды, однажды с несуществующим $sql
параметр:
mysql_query("UPDATE service SET Start_date='$Date1', Venue='$Venue', Facilitator='$Faci' WHERE ServiceID ='$id'");
if (!mysql_query($sql,$con))
должен быть:
if (!mysql_query("UPDATE service SET Start_date='$Date1', Venue='$Venue', Facilitator='$Faci' WHERE ServiceID ='$id'"))
Вы также не выходите из своего входа, оставление Вас открывается к Внедрению SQL. Необходимо использовать связанные параметры идеально или по крайней мере прокрутить параметры mysql_real_escape_string()
.
Например:
$Date1 = mysql_real_escape_string($Date1, $conn);
Вы не устанавливаете переменную $sql и называете mysql_query () дважды.
Ради любви к Интернету, не создавайте SQL-запросы самостоятельно. Используйте PDO .