marktt Posted June 10, 2011 Share Posted June 10, 2011 hi my website is playing up there is a function that allows a user to post a review however if you click on the review or write a reveiw button you get the following error Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /datasan/www/vhosts/geronimojones.com/httpdocs/includes/functions/database.php on line 103 the code on line 103 is return mysql_num_rows($db_query); does any one know why this is doing this the code for complete doc if its helps is <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2007 osCommerce Released under the GNU General Public License */ function tep_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') { global $$link; if (USE_PCONNECT == 'true') { $$link = mysql_pconnect($server, $username, $password); } else { $$link = mysql_connect($server, $username, $password); } if ($$link) mysql_select_db($database); return $$link; } function tep_db_close($link = 'db_link') { global $$link; return mysql_close($$link); } function tep_db_error($query, $errno, $error) { die('<font color="#000000"><strong>' . $errno . ' - ' . $error . '<br /><br />' . $query . '<br /><br /><small><font color="#ff0000">[TEP STOP]</font></small><br /><br /></strong></font>'); } function tep_db_query($query, $link = 'db_link') { global $$link; if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) { error_log('QUERY ' . $query . "\n", 3, STORE_PAGE_PARSE_TIME_LOG); } $result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error()); if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) { $result_error = mysql_error(); error_log('RESULT ' . $result . ' ' . $result_error . "\n", 3, STORE_PAGE_PARSE_TIME_LOG); } return $result; } function tep_db_perform($table, $data, $action = 'insert', $parameters = '', $link = 'db_link') { reset($data); if ($action == 'insert') { $query = 'insert into ' . $table . ' ('; while (list($columns, ) = each($data)) { $query .= $columns . ', '; } $query = substr($query, 0, -2) . ') values ('; reset($data); while (list(, $value) = each($data)) { switch ((string)$value) { case 'now()': $query .= 'now(), '; break; case 'null': $query .= 'null, '; break; default: $query .= '\'' . tep_db_input($value) . '\', '; break; } } $query = substr($query, 0, -2) . ')'; } elseif ($action == 'update') { $query = 'update ' . $table . ' set '; while (list($columns, $value) = each($data)) { switch ((string)$value) { case 'now()': $query .= $columns . ' = now(), '; break; case 'null': $query .= $columns .= ' = null, '; break; default: $query .= $columns . ' = \'' . tep_db_input($value) . '\', '; break; } } $query = substr($query, 0, -2) . ' where ' . $parameters; } return tep_db_query($query, $link); } function tep_db_fetch_array($db_query) { return mysql_fetch_array($db_query, MYSQL_ASSOC); } function tep_db_num_rows($db_query) { return mysql_num_rows($db_query); } function tep_db_data_seek($db_query, $row_number) { return mysql_data_seek($db_query, $row_number); } function tep_db_insert_id($link = 'db_link') { global $$link; return mysql_insert_id($$link); } function tep_db_free_result($db_query) { return mysql_free_result($db_query); } function tep_db_fetch_fields($db_query) { return mysql_fetch_field($db_query); } function tep_db_output($string) { return htmlspecialchars($string); } function tep_db_input($string, $link = 'db_link') { global $$link; if (function_exists('mysql_real_escape_string')) { return mysql_real_escape_string($string, $$link); } elseif (function_exists('mysql_escape_string')) { return mysql_escape_string($string); } return addslashes($string); } function tep_db_prepare_input($string) { if (is_string($string)) { return trim(tep_sanitize_string(stripslashes($string))); } elseif (is_array($string)) { reset($string); while (list($key, $value) = each($string)) { $string[$key] = tep_db_prepare_input($value); } return $string; } else { return $string; } } ?> Quote Link to comment https://forums.phpfreaks.com/topic/238990-warning-mysql_num_rows-supplied-argument-is-not-a-valid-mysql-result-resourc/ Share on other sites More sharing options...
Maq Posted June 10, 2011 Share Posted June 10, 2011 In the future, please place tags around your code. Quote Link to comment https://forums.phpfreaks.com/topic/238990-warning-mysql_num_rows-supplied-argument-is-not-a-valid-mysql-result-resourc/#findComment-1227991 Share on other sites More sharing options...
Maq Posted June 10, 2011 Share Posted June 10, 2011 Since we can't see where the "tep_db_num_rows()" function is called, we don't know how the query for the $db_query result set is constructed. Show us where you're calling "tep_db_num_rows", or better yet, where the actual query string is being formed. My guess is that the query is failing, giving mysql_num_rows an invalid parameter type. Quote Link to comment https://forums.phpfreaks.com/topic/238990-warning-mysql_num_rows-supplied-argument-is-not-a-valid-mysql-result-resourc/#findComment-1227995 Share on other sites More sharing options...
marktt Posted June 10, 2011 Author Share Posted June 10, 2011 hi i dont really have much experience with php ""Show us where you're calling "tep_db_num_rows", or better yet, where the actual query string is being formed. My guess is that the query is failing, giving mysql_num_rows an invalid parameter type."" where would i look to find this infomation mark Quote Link to comment https://forums.phpfreaks.com/topic/238990-warning-mysql_num_rows-supplied-argument-is-not-a-valid-mysql-result-resourc/#findComment-1227999 Share on other sites More sharing options...
Maq Posted June 10, 2011 Share Posted June 10, 2011 Either do a search for "tep_db_num_rows" or if you're using an IDE like Eclipse you can double click on the function and hit ctr+shift+g and it will show you everywhere the function is called. Quote Link to comment https://forums.phpfreaks.com/topic/238990-warning-mysql_num_rows-supplied-argument-is-not-a-valid-mysql-result-resourc/#findComment-1228007 Share on other sites More sharing options...
marktt Posted June 10, 2011 Author Share Posted June 10, 2011 hi there is only one occurance - it is the line before return mysql_num_rows($db_query); so prob line 101 or 102 the full code of the page is posted in my first post and you can see it there does this help Quote Link to comment https://forums.phpfreaks.com/topic/238990-warning-mysql_num_rows-supplied-argument-is-not-a-valid-mysql-result-resourc/#findComment-1228073 Share on other sites More sharing options...
Maq Posted June 10, 2011 Share Posted June 10, 2011 What I meant is that "database.php" is included in another file and the function 'tep_db_num_rows' is called there. You need to find where this is being called because it is the query that's probably failing. Quote Link to comment https://forums.phpfreaks.com/topic/238990-warning-mysql_num_rows-supplied-argument-is-not-a-valid-mysql-result-resourc/#findComment-1228075 Share on other sites More sharing options...
marktt Posted June 11, 2011 Author Share Posted June 11, 2011 hi how would i find out what other files database.php is included in did say i dont know much about php mark Quote Link to comment https://forums.phpfreaks.com/topic/238990-warning-mysql_num_rows-supplied-argument-is-not-a-valid-mysql-result-resourc/#findComment-1228305 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.