Forum Moderators: coopster

Message Too Old, No Replies

supplied argument is not a valid MySQL-Link resource

         

fenix_ds

8:24 pm on Feb 11, 2004 (gmt 0)

10+ Year Member



Hi, I'm trying to set up a small page to update a database. The code comes from a tutorial at webmonkey. However, the page prints two messages:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/****/public_html/****/****/update.php on line 61

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/xxx/public_html/xxx/xxx/update.php on line 63

Here's the code:

<html>
<head>
<title>UPDATE</title>
</head>
<body>

<?php

$username = "xxx";
$password = "xxx";
$hostname = "localhost";
$dbh = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
mysql_select_db("xxx",$dbh);

if ($submit) {

// here if no ID then adding else we're editing

if ($id) {

$sql = "UPDATE employees SET first='$first',last='$last',address='$address',position='$position' WHERE id=$id";

} else {

$sql = "INSERT INTO employees (first,last,address,position) VALUES ('$first','$last','$address','$position')";

}

// run SQL against the DB

$result = mysql_query($sql);

echo "Record updated/edited!<p>";

} elseif ($delete) {

// delete a record

$sql = "DELETE FROM employees WHERE id=$id";

$result = mysql_query($sql);

echo "$sql Record deleted!<p>";

} else {

// this part happens if we don't press submit

if (!$id) {

// print the list if there is not editing

$result = mysql_query("SELECT * FROM employees",$db);

while ($myrow = mysql_fetch_array($result)) {

printf("<a href=\"%s?id=%s\">%s %s</a> \n", $PHP_SELF, $myrow["id"], $myrow["first"], $myrow["last"]);

printf("<a href=\"%s?id=%s&delete=yes\">(DELETE)</a><br>", $PHP_SELF, $myrow["id"]);

}

}

?>

<P>

<a href="<?php echo $PHP_SELF?>">ADD A RECORD</a>

<P>

<form method="post" action="<?php echo $PHP_SELF?>">

<?php

if ($id) {

// editing so select a record

$sql = "SELECT * FROM employees WHERE id=$id";

$result = mysql_query($sql);

$myrow = mysql_fetch_array($result);

$id = $myrow["id"];

$first = $myrow["first"];

$last = $myrow["last"];

$address = $myrow["address"];

$position = $myrow["position"];

// print the id for editing

?>

<input type=hidden name="id" value="<?php echo $id?>">

<?php

}

?>

First name:<input type="Text" name="first" value="<?php echo $first?>"><br>

Last name:<input type="Text" name="last" value="<?php echo $last?>"><br>

Address:<input type="Text" name="address" value="<?php echo $address?>"><br>

Position:<input type="Text" name="position" value="<?php echo $position?>"><br>

<input type="Submit" name="submit" value="Enter information">

</form>

<?php

}

?>

</body>

</html>

I guess many of you at the forum already know this script, i'm trying to adapt it to another (and bigger) database, the error messages are the same, so I went back to the original one.

Any help will be appreciated. Thanks. Danny

Timotheos

9:47 pm on Feb 11, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



My guess is you're not select a valid db in your mysql_select_db function.

Try something like
$db = "****";
mysql_select_db($db, $dbh) or die ('Database error: ' . mysql_error());