Я пытался сравнить две строки: одну с именем пользователя, которое вводит пользователь, а второй - данные, которые моя программа извлекает из базы данных. Вот мой PHP код:PHP, сравнивающий два datavalues
$sqlCheck = "SELECT Username FROM location WHERE Username ='$usernamebeingreq'" ;
$result2 = mysqli_query($con, $sqlCheck);
$result2 = mysql_fetch_array($result2);
$resultCheck = false;
//mysqli_query($con, $sqlCheck);
if((strcmp($result2, $usernamebeingreq) == 1))
{
$sql="INSERT INTO pending_req (fromUser, toUser) VALUES ('$username', '$usernamebeingreq')";
$resultCheck = true;
}
$ usernamebeingreq равно пользователю, что они входят в, и результат должен быть равен, что, когда она тянет его из базы данных. Я не уверен, почему он работает неправильно.
вам нужно добавить ссылку в $ result2 в столбец, проверяют. что дает var_dump ($ result2)? – Maximus2012
** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать параметризованные запросы и [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить пользователя данные по вашему запросу. ** НЕ используйте ** интерполирование строк, чтобы выполнить это, потому что вы создадите серьезные [SQL-инъекции ошибок] (http://bobby-tables.com/). – tadman
1. Вы переписываете '$ result2', 2.' strcmp' предназначен для сравнения строк, а не объектов или других примитивов. 3. 'strcmp === 0', когда строки равны, а не' 1'. 4. Ваш SQL уязвим для SQL-инъекции. – Dai