MYSQL: DROP TABLE IF EXISTS, CREATE TABLE és INSERT INTO?
Sziasztok,
Engem ez már teljesen kicsinált. Régebben már összehoztam de most kicsit variáltam/ akarok rajta de csak nem adja magát..
Következőt szeretném: index.html-en van a <form> ahol bekérjük az adatokat, ezt a process.php dolgozza majd fel és helyezi el az INSERT INTO parancs használatával a táblánkba. Az index.html-en belül még a <body> után van az adatbázis csatlakozás is, <?php include_one('/config.php/'); ?> itt minden oké, megy a csatlakozás. De ha submit-olom a formot azt írja, hogy az sql_query: X-ÉRTÉK nem egy MySQL-Link blabla nincs olyan értéke ezt kapom 5-ödjére ..
tehát akkor az index.html:
<body>
<?php
include_once "config.php"; // connects to <php echo "DB .">
?>
<div class="navbar">
FORM az index.html-ben:
<form action="process.php" method="POST">
<input type="text" name="formaddress"><br><br>
<input type="submit" value="Submit"><br><br>
</form>
config.php fájl, az adatbázis csat.hoz: <?php
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "pass";
$dbname = "name";
$display_errors = false;
// dsn - Data Source Name
// [link]
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
// Check connection
if (!$conn) {
die("Connection lost." . mysql_error());
}
$sql = "DROP TABLE IF EXISTS table;
CREATE TABLE table (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
address VARCHAR(60) NOT NULL,
regdate TIMESTAMP
)";
mysql_select_db($dbname, $conn);
mysql_close($conn);
?>
és a process.php, itt is van include_once, hogy megnézze a db csatlakozást:
<!DOCTYPE html>
<html>
<head><title>Title</title></head>
<body>
<?php include_once "config.php"; // connects to <php echo "DB .">
$address = $_POST['formaddress'];
$sql = "INSERT INTO Players (id, address, regdate) VALUES ('', $address, '')";
mysql_query($sql, $conn);
?>
</body>
</html>
Konkrét hiba: Warning: mysql_query(): 3 is not a valid MySQL-Link resource in ... on line 12, ezelőtt a "No database selected" problémát írta.
Régebben az egészet egybe írtam, de most nem úgy szeretném. Tehát nem az, hogy handler.php a form action attribútuma és handler.php tartalmazza a $con mysql connect, mysql query meg minden adatot és ezek után csinálom hogy $address = $_POST["érték a formból"]; etc etc.
Köszönöm a segítséget!
"No database selected"
Ez elég egyértelmű. Ne kapcsold ki a hibák kiírását, amíg tesztelsz... Hol használod fel a $dbname változót? Ha sehol, máris megvan a hiba.
"Konkrét hiba: Warning: mysql_query(): 3 is not a valid MySQL-Link resource in ... on line 12, ezelőtt a "No database selected" problémát írta. "
Már a mysql_query hibát kapom.
Hol használom fel? mysql_select_db($dbname, $conn);
Bocs, azt nem láttam, nehéz egy ilyen ömlesztett kódhalmazt áttekinteni. Az előtte meg nekem azt jelentette, hogy az előtte levő sorban... Mert ha időben előtte, akkor mit változtattál? Akárhogy is, a resource arra utalhat, hogy nincs rendben a kapcsolat az adatbázissal, de ez itt csak egy warning. Mit tudom én ebből, melyik a 12-es sor? Lépésről lépésre kéne tesztelni. Warningtól nem akad meg.
A create table sql-t hol hívod meg?
Ebben lesz a hiba:
$sql = "INSERT INTO Players (id, address, regdate) VALUES ('', $address, '')";
Fogalmazd meg szigorúbban, és nézd át megvan-e a tábla, cellák.
$sql = "INSERT INTO `Players` (`id`, `address`, `regdate`) VALUES (NULL, ".$address.", '')";
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!