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>";

 

Edited by ginerjm
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.