azirion Posted October 14, 2013 Share Posted October 14, 2013 I built a simple input drop-down list, using <select> which populates from a mysql database. It works fine, but if the result from the query is not found then the drop-down list just shrinks and doesn't say anything. I want it to say something like: "Name not found". I've searched everywhere but I can't seem to find the way. This is my code: <?php if ( $myquery = $mysqli->prepare("SELECT name, idname FROM db WHERE name LIKE '%".$name."%'") ) { $myquery->execute(); $myquery->store_result(); $myquery->bind_result( $nompac, $idpac ) ; } <form name="form1" method="post" action="example.php"> <table > <tr> <td>Name: </td> <td> <select name="chosen_name"> <?php while ( $myquery->fetch() ) { echo "<strong><option value=".$idpac.">".$nompac."</option></strong>"; } ?> </select> </td> <td><input type="submit" name="Submit" value="Go" class="button"/></td> </tr> </table> </form> So I added: if ( empty( $myquery ) ) { echo "<strong><option value=''>Name not found</option></strong>"; } else { while ( $myquery->fetch() ) { echo "<strong><option value='".$idpac."'>".$nompac."</option></strong>"; } } But it just ignores the code and does nothing. Next I added var_dump($myquery); before the if( empty( $myquery ) ) and nothing happened, so I placed it next to the mysqli prepared query and the output was:object(mysqli_stmt)#2 (9) { ["affected_rows"]=> int(0) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(0) ["field_count"]=> int(2) ["errno"]=> int(0) ["error"]=> string(0) "" ["sqlstate"]=> string(5) "00000" ["id"]=> int(2) } Any ideas what am I doing wrong? Link to comment https://forums.phpfreaks.com/topic/282946-drop-down-list-using-mysql-when-query-not-found/ Share on other sites More sharing options...
requinix Posted October 14, 2013 Share Posted October 14, 2013 You can use $myquery->num_rows to tell... well, it's exactly what it looks like. Link to comment https://forums.phpfreaks.com/topic/282946-drop-down-list-using-mysql-when-query-not-found/#findComment-1453815 Share on other sites More sharing options...
azirion Posted October 14, 2013 Author Share Posted October 14, 2013 Thank you!! It worked! I added: if ( $myquery->num_rows==0 ) { Link to comment https://forums.phpfreaks.com/topic/282946-drop-down-list-using-mysql-when-query-not-found/#findComment-1453816 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.