mysql select query running okay on phpmyadmin but not with php [closed]
This is the mysql query
SELECT *,
`main`.`email` as useremail,
`main`.`ID` as `userID`,
`mail_owners`.`country_code_field` as `micountry`,
DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners`
ON `main`.`ID` = `mail_owners`.`ID`
WHERE
`main`.`is_deleted` = 0 AND
(`main`.`time` BETWEEN '2018-08-01' AND '2018-11-14')
ORDER BY
`main`.`ID`,
`mrDate` DESC
This query working perfectly on sql....but it's not working perfectly on php.
it's running on php but only getting some data not the total.
here describes the php codes:
$fdt = $_POST['formDt'];
$tdt = $_POST['toDate'];
$sqlforData = "SELECT *, `main`.`email` as useremail, `main`.`ID` as `userID`, `mail_owners`.`country_code_field` as `micountry`, DATE(`main`.`time`) as `mrDate` FROM `main` LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID` WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN '$fdt' AND '$tdt') ORDER BY `main`.`ID`, `mrDate` DESC";
$result = mysqli_query($conn, $sqlforData);
while ($table = mysqli_fetch_array($result)) {
//Showing just limited data...
}
Please help me to sort out the problem.
Thank you.
php mysql sql database
closed as unclear what you're asking by peterh, yivi, Madhur Bhaiya, Machavity, Makyen Nov 24 '18 at 18:29
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
This is the mysql query
SELECT *,
`main`.`email` as useremail,
`main`.`ID` as `userID`,
`mail_owners`.`country_code_field` as `micountry`,
DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners`
ON `main`.`ID` = `mail_owners`.`ID`
WHERE
`main`.`is_deleted` = 0 AND
(`main`.`time` BETWEEN '2018-08-01' AND '2018-11-14')
ORDER BY
`main`.`ID`,
`mrDate` DESC
This query working perfectly on sql....but it's not working perfectly on php.
it's running on php but only getting some data not the total.
here describes the php codes:
$fdt = $_POST['formDt'];
$tdt = $_POST['toDate'];
$sqlforData = "SELECT *, `main`.`email` as useremail, `main`.`ID` as `userID`, `mail_owners`.`country_code_field` as `micountry`, DATE(`main`.`time`) as `mrDate` FROM `main` LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID` WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN '$fdt' AND '$tdt') ORDER BY `main`.`ID`, `mrDate` DESC";
$result = mysqli_query($conn, $sqlforData);
while ($table = mysqli_fetch_array($result)) {
//Showing just limited data...
}
Please help me to sort out the problem.
Thank you.
php mysql sql database
closed as unclear what you're asking by peterh, yivi, Madhur Bhaiya, Machavity, Makyen Nov 24 '18 at 18:29
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
2
You should include data which explains the problem. I don't think you will get an answer if both queries are identical.
– Tim Biegeleisen
Nov 24 '18 at 15:59
Warning: You are wide open to SQL Injections and should really use parameterized Prepared Statements instead of manually building your queries like that. Specially since you're not escaping the user inputs at all!
– Magnus Eriksson
Nov 24 '18 at 15:59
2
You should also do avar_dump($fdt, $tdt);
to make sure they contain the same values as the hard coded one.
– Magnus Eriksson
Nov 24 '18 at 16:01
1
I don't see any error checking so no wonder you don't know why it's not working. Read this question and come back with the error message from MySQL
– Machavity
Nov 24 '18 at 17:16
add a comment |
This is the mysql query
SELECT *,
`main`.`email` as useremail,
`main`.`ID` as `userID`,
`mail_owners`.`country_code_field` as `micountry`,
DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners`
ON `main`.`ID` = `mail_owners`.`ID`
WHERE
`main`.`is_deleted` = 0 AND
(`main`.`time` BETWEEN '2018-08-01' AND '2018-11-14')
ORDER BY
`main`.`ID`,
`mrDate` DESC
This query working perfectly on sql....but it's not working perfectly on php.
it's running on php but only getting some data not the total.
here describes the php codes:
$fdt = $_POST['formDt'];
$tdt = $_POST['toDate'];
$sqlforData = "SELECT *, `main`.`email` as useremail, `main`.`ID` as `userID`, `mail_owners`.`country_code_field` as `micountry`, DATE(`main`.`time`) as `mrDate` FROM `main` LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID` WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN '$fdt' AND '$tdt') ORDER BY `main`.`ID`, `mrDate` DESC";
$result = mysqli_query($conn, $sqlforData);
while ($table = mysqli_fetch_array($result)) {
//Showing just limited data...
}
Please help me to sort out the problem.
Thank you.
php mysql sql database
This is the mysql query
SELECT *,
`main`.`email` as useremail,
`main`.`ID` as `userID`,
`mail_owners`.`country_code_field` as `micountry`,
DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners`
ON `main`.`ID` = `mail_owners`.`ID`
WHERE
`main`.`is_deleted` = 0 AND
(`main`.`time` BETWEEN '2018-08-01' AND '2018-11-14')
ORDER BY
`main`.`ID`,
`mrDate` DESC
This query working perfectly on sql....but it's not working perfectly on php.
it's running on php but only getting some data not the total.
here describes the php codes:
$fdt = $_POST['formDt'];
$tdt = $_POST['toDate'];
$sqlforData = "SELECT *, `main`.`email` as useremail, `main`.`ID` as `userID`, `mail_owners`.`country_code_field` as `micountry`, DATE(`main`.`time`) as `mrDate` FROM `main` LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID` WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN '$fdt' AND '$tdt') ORDER BY `main`.`ID`, `mrDate` DESC";
$result = mysqli_query($conn, $sqlforData);
while ($table = mysqli_fetch_array($result)) {
//Showing just limited data...
}
Please help me to sort out the problem.
Thank you.
php mysql sql database
php mysql sql database
edited Nov 24 '18 at 15:58
Tim Biegeleisen
229k1395147
229k1395147
asked Nov 24 '18 at 15:56
M.i. SujonM.i. Sujon
1125
1125
closed as unclear what you're asking by peterh, yivi, Madhur Bhaiya, Machavity, Makyen Nov 24 '18 at 18:29
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
closed as unclear what you're asking by peterh, yivi, Madhur Bhaiya, Machavity, Makyen Nov 24 '18 at 18:29
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
2
You should include data which explains the problem. I don't think you will get an answer if both queries are identical.
– Tim Biegeleisen
Nov 24 '18 at 15:59
Warning: You are wide open to SQL Injections and should really use parameterized Prepared Statements instead of manually building your queries like that. Specially since you're not escaping the user inputs at all!
– Magnus Eriksson
Nov 24 '18 at 15:59
2
You should also do avar_dump($fdt, $tdt);
to make sure they contain the same values as the hard coded one.
– Magnus Eriksson
Nov 24 '18 at 16:01
1
I don't see any error checking so no wonder you don't know why it's not working. Read this question and come back with the error message from MySQL
– Machavity
Nov 24 '18 at 17:16
add a comment |
2
You should include data which explains the problem. I don't think you will get an answer if both queries are identical.
– Tim Biegeleisen
Nov 24 '18 at 15:59
Warning: You are wide open to SQL Injections and should really use parameterized Prepared Statements instead of manually building your queries like that. Specially since you're not escaping the user inputs at all!
– Magnus Eriksson
Nov 24 '18 at 15:59
2
You should also do avar_dump($fdt, $tdt);
to make sure they contain the same values as the hard coded one.
– Magnus Eriksson
Nov 24 '18 at 16:01
1
I don't see any error checking so no wonder you don't know why it's not working. Read this question and come back with the error message from MySQL
– Machavity
Nov 24 '18 at 17:16
2
2
You should include data which explains the problem. I don't think you will get an answer if both queries are identical.
– Tim Biegeleisen
Nov 24 '18 at 15:59
You should include data which explains the problem. I don't think you will get an answer if both queries are identical.
– Tim Biegeleisen
Nov 24 '18 at 15:59
Warning: You are wide open to SQL Injections and should really use parameterized Prepared Statements instead of manually building your queries like that. Specially since you're not escaping the user inputs at all!
– Magnus Eriksson
Nov 24 '18 at 15:59
Warning: You are wide open to SQL Injections and should really use parameterized Prepared Statements instead of manually building your queries like that. Specially since you're not escaping the user inputs at all!
– Magnus Eriksson
Nov 24 '18 at 15:59
2
2
You should also do a
var_dump($fdt, $tdt);
to make sure they contain the same values as the hard coded one.– Magnus Eriksson
Nov 24 '18 at 16:01
You should also do a
var_dump($fdt, $tdt);
to make sure they contain the same values as the hard coded one.– Magnus Eriksson
Nov 24 '18 at 16:01
1
1
I don't see any error checking so no wonder you don't know why it's not working. Read this question and come back with the error message from MySQL
– Machavity
Nov 24 '18 at 17:16
I don't see any error checking so no wonder you don't know why it's not working. Read this question and come back with the error message from MySQL
– Machavity
Nov 24 '18 at 17:16
add a comment |
1 Answer
1
active
oldest
votes
could be you have some quote and conversion issue try using str_to_date and for avoid sqlinject and comversion problem to try using prepared statement and binding param eg:
$sqlforData = "SELECT *
, `main`.`email` as useremail
, `main`.`ID` as `userID`
, `mail_owners`.`country_code_field` as `micountry`
, DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID`
WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN STR_TO_DATE(?, '%Y-%m%d')
AND STR_TO_DATE(?, '%Y-%m%d'))
ORDER BY `main`.`ID`, `mrDate` DESC";
$stmt = $mysqli->prepare($sqlforData);
$stmt->bind_param('ss', $fdt, $tdt, );
$stmt->execute();
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
could be you have some quote and conversion issue try using str_to_date and for avoid sqlinject and comversion problem to try using prepared statement and binding param eg:
$sqlforData = "SELECT *
, `main`.`email` as useremail
, `main`.`ID` as `userID`
, `mail_owners`.`country_code_field` as `micountry`
, DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID`
WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN STR_TO_DATE(?, '%Y-%m%d')
AND STR_TO_DATE(?, '%Y-%m%d'))
ORDER BY `main`.`ID`, `mrDate` DESC";
$stmt = $mysqli->prepare($sqlforData);
$stmt->bind_param('ss', $fdt, $tdt, );
$stmt->execute();
add a comment |
could be you have some quote and conversion issue try using str_to_date and for avoid sqlinject and comversion problem to try using prepared statement and binding param eg:
$sqlforData = "SELECT *
, `main`.`email` as useremail
, `main`.`ID` as `userID`
, `mail_owners`.`country_code_field` as `micountry`
, DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID`
WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN STR_TO_DATE(?, '%Y-%m%d')
AND STR_TO_DATE(?, '%Y-%m%d'))
ORDER BY `main`.`ID`, `mrDate` DESC";
$stmt = $mysqli->prepare($sqlforData);
$stmt->bind_param('ss', $fdt, $tdt, );
$stmt->execute();
add a comment |
could be you have some quote and conversion issue try using str_to_date and for avoid sqlinject and comversion problem to try using prepared statement and binding param eg:
$sqlforData = "SELECT *
, `main`.`email` as useremail
, `main`.`ID` as `userID`
, `mail_owners`.`country_code_field` as `micountry`
, DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID`
WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN STR_TO_DATE(?, '%Y-%m%d')
AND STR_TO_DATE(?, '%Y-%m%d'))
ORDER BY `main`.`ID`, `mrDate` DESC";
$stmt = $mysqli->prepare($sqlforData);
$stmt->bind_param('ss', $fdt, $tdt, );
$stmt->execute();
could be you have some quote and conversion issue try using str_to_date and for avoid sqlinject and comversion problem to try using prepared statement and binding param eg:
$sqlforData = "SELECT *
, `main`.`email` as useremail
, `main`.`ID` as `userID`
, `mail_owners`.`country_code_field` as `micountry`
, DATE(`main`.`time`) as `mrDate`
FROM `main`
LEFT JOIN `mail_owners` ON `main`.`ID` = `mail_owners`.`ID`
WHERE `main`.`is_deleted` = 0 AND (`main`.`time` BETWEEN STR_TO_DATE(?, '%Y-%m%d')
AND STR_TO_DATE(?, '%Y-%m%d'))
ORDER BY `main`.`ID`, `mrDate` DESC";
$stmt = $mysqli->prepare($sqlforData);
$stmt->bind_param('ss', $fdt, $tdt, );
$stmt->execute();
answered Nov 24 '18 at 16:23
scaisEdgescaisEdge
95.4k105071
95.4k105071
add a comment |
add a comment |
2
You should include data which explains the problem. I don't think you will get an answer if both queries are identical.
– Tim Biegeleisen
Nov 24 '18 at 15:59
Warning: You are wide open to SQL Injections and should really use parameterized Prepared Statements instead of manually building your queries like that. Specially since you're not escaping the user inputs at all!
– Magnus Eriksson
Nov 24 '18 at 15:59
2
You should also do a
var_dump($fdt, $tdt);
to make sure they contain the same values as the hard coded one.– Magnus Eriksson
Nov 24 '18 at 16:01
1
I don't see any error checking so no wonder you don't know why it's not working. Read this question and come back with the error message from MySQL
– Machavity
Nov 24 '18 at 17:16