| Autor | Zpráva | ||
|---|---|---|---|
| Kleciss Profil |
#1 · Zasláno: Dnes, 12:03:32
Ahoj, neví někdo kde by mohl být problém? Objevuje se mi hláška Could not update data: No database selected
Děkuji Kod:
<?php
if(isset($_POST['update'])) {
$dbhost = 'localhost';
$dbuser = 'kalendar20';
$dbpass = 'xxxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$id = $_POST['id'];
$prvni = $_POST['prvni'];
$sql = "UPDATE leden ". "SET prvni = $prvni ".
"WHERE id = $id" ;
mysql_select_db('kalendar20');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
}else {
?>
<form method = "post" action = "<?php $_PHP_SELF ?>">
<table width = "400" border =" 0" cellspacing = "1"
cellpadding = "2">
<tr>
<td width = "100">ID1</td>
<td><input name = "id" type = "text" value"1"
id = "id"></td>
</tr>
<tr>
<td width = "100">První</td>
<td><input name = "prvni" type = "text"
id = "prvni"></td>
</tr>
<tr>
<td width = "100"> </td>
<td> </td>
</tr>
<tr>
<td width = "100"> </td>
<td>
<input name = "update" type = "submit"
id = "update" value = "Update">
</td>
</tr>
</table>
</form>
<?php
}
?>
|
||
| NoxOne Profil |
#2 · Zasláno: Dnes, 12:50:26
Já bych to změnil takto: (ps: ale bezpečnost ti nic neříká ... osobně používám pro DB "bindování" )
<?php
if(isset($_POST['update'])) {
$dbhost = 'localhost';
$dbuser = 'kalendar20';
$dbpass = 'xxxx';
$dbname = 'kalendar20';
$conn = mysql_connect($dbhost, $dbuser, $dbpass, $dbname);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$id = $_POST['id'];
$prvni = $_POST['prvni'];
$sql = "UPDATE leden SET prvni = ".$prvni." WHERE id = ".$id." ;
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
}else {
?>
<form method = "post" action = "<?php $_PHP_SELF ?>">
<table width = "400" border =" 0" cellspacing = "1"
cellpadding = "2">
<tr>
<td width = "100">ID1</td>
<td><input name = "id" type = "text" value"1"
id = "id"></td>
</tr>
<tr>
<td width = "100">První</td>
<td><input name = "prvni" type = "text"
id = "prvni"></td>
</tr>
<tr>
<td width = "100"> </td>
<td> </td>
</tr>
<tr>
<td width = "100"> </td>
<td>
<input name = "update" type = "submit"
id = "update" value = "Update">
</td>
</tr>
</table>
</form>
<?php
}
?> |
||
| breeta Profil |
Já bych hlavně nevytahoval databázi přes mysql_connect, které je zastaralé www.php.net/manual/en/function.mysql-connect.php požij raději PDO.
|
||
| NoxOne Profil |
#4 · Zasláno: Dnes, 14:27:59
Tak myslím že o to tu nešlo, a když by chtěl "bindovat" tak snad použije mysqli.
Dle všeho chce uložit jeden formulář a použití PDO by bylo jako vzít rotačák na komára. |
||
| breeta Profil |
#5 · Zasláno: Dnes, 15:15:54
NoxOne:
PDO je základ k připojení databází, nevím proč by to měl být rotačák, neradím mu ORM. Napsal jsem že to je zavrženo a měl by to přespat, nech to na něm Pomocí (MySQLi Procedural) <?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
mysqli_close($conn);
?>PDO <?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
// Prepare statement
$stmt = $conn->prepare($sql);
// execute the query
$stmt->execute();
// echo a message to say the UPDATE succeeded
echo $stmt->rowCount() . " records UPDATED successfully";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?> |
0