What is wrong with this query....please reply as soon as possible

“SELECT * FROM table WHERE id = $_POST[ ‘id’ ]”

Don’t use user input in queries without sanatizing it first (and validating it too if needed).
If you’re using mysqli_ or pdo (as you should because the mysql_ extension is deprecated) then take a look at prepared statements: http://www.php.net/manual/en/mysqli.prepare.php

Beside what guido2004 mentioned, avoid calling all table fields(*) and single quote values in query and add bracket if it’s an array[‘key’] value.

"SELECT * FROM table WHERE id = '{$_POST[ 'id' ]}'"

Leaving aside the sanitizing stuff, the reason your string is not valid php is because you can’t put quotes around an array key when inside of double quotes.

This works:

$_POST['id'] = 27;

$sql = "SELECT * FROM table WHERE id = $_POST[id]";
echo $sql;


$then=“SELECT * FROM tablename WHERE id=$id”;


echo $count.‘<br>’;

Thanks for your nice reply