1
votes
<?php

include 'db_connect.php';

$name = $_REQUEST['sname'];
$email = $_REQUEST['email'];

$query = "SELECT * FROM info_enrol_student WHERE ES_name = '$name' AND ES_EMAIL = '$email'";
$in = mysqli_query($conn,$query) or die(mysqli_error($conn));
$count = mysqli_num_rows($in);
if (mysqli_num_rows($in) > 0)
{
header('location:index.php');
exit;
}

?>

I am making a login form and giving data to this php code but getting this error.

Illegal mix of collations (ascii_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' in php

I am not able to understand the error because earlier with the same script I was able to login in the system.

1
How do I change it. I tried a few methods but getting different errors. - Kshitij Pandey
go to db table and click on change structure and you can change collation there. - Anant Kumar Singh
Yeah tried that and got the result - Kshitij Pandey
Kshitij please up-vote the answer also.thanks. - Anant Kumar Singh

1 Answers

0
votes

Based on the error stated by you you need to do following:-

Go to the database table and change the collation of these two fields (ES_name and ES_EMAIL) to utf-8-bin and change your query like below:-

$query = "SELECT * FROM info_enrol_student WHERE `ES_name` = $name AND `ES_EMAIL` = $email"; `