Jump to content

Dbase Output - mysql_fetch_array() expects parameter 1 to be resource


johnber

Recommended Posts

Hi

Fairly new to PHP and have the following code which should simply output into 3 columns - I have checked the query which does work - so I dont understand why I get this error

mysql_fetch_array() expects parameter 1 to be resource,

 

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = “SELECT * FROM duration_matched WHERE groupm = '”.$coincidence ."’";
$result = $conn->query($sql);

// set up loop counter
$col_count = 0;

// start table and first tr
echo ‘

’;

while ($row=mysql_fetch_array($result)) {
// if you have output 3 cols then end tr and start a new one
if ($col_count == 3) {
echo ‘

’;
// and reset the col count
$col_count = 0;
}

// always output the td
echo ‘

’;
// and count the column
$col_count++;
}

// then close off the last row and the table
echo ‘

’ . $row[‘image’] . ‘

’;

$conn->close();

 

thanks in advance

John B

Link to comment
Share on other sites

I would check with my service provider to see what interfaces they support for php.  If the PDO one is available then go directly to the pdo chapter in the php manual and learn that instead of mysqlI.   It is not hard to pick up and will serve you better in the long run  IMHO.

Link to comment
Share on other sites

Looking at your loop logic I don't understand what you think you are getting with the fetch  (btw- use 'fetch_assoc' instead of array).

Why do you need a column counter?  Aren't you just taking the query results row by row and outputting them to an html table with one query row in one html table row?

See if this makes sense.  And of course, learn how to use PDO instead of MySQL_* functions

 

//  don't use "select *".  Better to use actual field names.
$sql = "SELECT field1, field2, field3, field4, field5 FROM duration_matched 
		WHERE groupm = '" . $coincidence . "'";
$result = $conn->query($sql); 
// start table and first tr
echo '<table><tr>';
echo '<th>column 1</th><th>column 2</th><th>column 3</th><th>column 4</th><th>column 5</th>';
echo '</tr>';
//  now output the rows of data
while ($row=mysql_fetch_array($result)) 
{
	echo '<tr>';
	echo "<td>{$row['field1']}</td>";
	echo "<td>{$row['field2']}</td>";
	echo "<td>{$row['field3']}</td>";
	echo "<td>{$row['field4']}</td>";
	echo "<td>{$row['field5']}</td>";
	echo "</tr>";
} 
// then end the table
echo "</table>";

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.