Solved

PHP Error

Posted on 2010-11-30
2
276 Views
Last Modified: 2012-05-10
I am not sure what is wrong with the code below, but when ever I attempt to execute it I get the following error:

PHP Warning:  mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in mysql.main.php on line 17

According to the PHP manual, I have mysql_fetch_assoc() written correctly. Not sure why this error is being thrown.
<?php

	// require the configurations file
	require(dirname(__FILE__) . "/configurations/config.inc.php");
	
	// open connection to mysql - source and destination
	$mysql_source_link_id = mysql_connect($argv[1], mysql_user, mysql_user_password);
	$mysql_destination_link_id = mysql_connect(destination_mysql_host, mysql_user, mysql_user_password);
	
	// open the databases for both - source and destination mysql instances
	$mysql_database_source = mysql_select_db($argv[2], $mysql_source_link_id);
	$mysql_database_destination = mysql_select_db(destination_database_name, $mysql_destination_link_id);
	
	// execute the select statement on the source
	$query_select = mysql_query($sql_select, $mysql_source_link_id); 
	
	for ($i=0; $i < ($row = mysql_fetch_assoc($query_select)); $i++) {
		
		echo $row["world_id"] . "\n";
		echo $row["room_id"] . "\n";
		echo $row["player_id"] . "\n";
		echo $row["timestamp"] . "\n";
		echo $row["is_blocked"] . "\n";
		echo $row["message"] . "\n";
		
	}
	
	mysql_free_result($query_select);
	
	// close connection to mysql - source and destination
	mysql_close($mysql_destination_link_id);
	mysql_close($mysql_source_link_id);

?>

Open in new window

0
Comment
Question by:plecostomus
2 Comments
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 34241768
I don't see '$sql_select' defined anywhere in that code.  Your 'mysql_query()' won't work without it.
0
 
LVL 1

Accepted Solution

by:
jebpotly earned 500 total points
ID: 34241771
http://us2.php.net/manual/en/function.mysql-query.php
"For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

"For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error."

I would guess that your "mysql_query($sql_select, $mysql_source_link_id); " statement on line 15 is returning a boolean which is why your warning is complaining about a boolean. What is the value of your $sql_select variable and what what do you get if you do a print_r($query_select)  on line 16 right after you do the query?
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Deprecated and Headed for the Dustbin By now, you have probably heard that some PHP features, while convenient, can also cause PHP security problems.  This article discusses one of those, called register_globals.  It is a thing you do not want.  …
This article discusses four methods for overlaying images in a container on a web page
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question