PHP MySQL vraag...
Geprobeerd wel nu, maar opgelost nog steeds niet. Heb nu ff een "or die" functie erachter geplakt, en die trapt hij dus nu af...
M s post even wat je nu aan code hebt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
if ($_SERVER['REQUEST_METHOD']=="POST")
{
if (empty($_POST['username']) || empty($_POST['first_name']) || empty($_POST['last_name']) || empty($_POST['email']) || empty($_POST['confirmemail']) || empty($_POST['password']) || empty($_POST['confirmpassword']))
{
echo "you forgot to fill in some fields";
}
elseif ($_POST['email'] != ($_POST['confirmemail']))
{
echo "email and email confirm dont match";
}
elseif ($_POST['password'] != ($_POST['confirmpassword']))
{
echo "pass and pass confirm dont match";
}
else
{
mysql_query("INSERT INTO users (username, first_name, last_name, password, email) VALUES ('".mysql_real_escape_string($_POST['username'])."', '".mysql_real_escape_string($_POST['first_name'])."', '".mysql_real_escape_string($_POST['last_name'])."', '".mysql_real_escape_string($_POST['password'])."', '".mysql_real_escape_string($_POST['email'])."')") or die("nothing happened");
echo "created";
echo mysql_error();
}
}
if ($_SERVER['REQUEST_METHOD']=="POST")
{
if (empty($_POST['username']) || empty($_POST['first_name']) || empty($_POST['last_name']) || empty($_POST['email']) || empty($_POST['confirmemail']) || empty($_POST['password']) || empty($_POST['confirmpassword']))
{
echo "you forgot to fill in some fields";
}
elseif ($_POST['email'] != ($_POST['confirmemail']))
{
echo "email and email confirm dont match";
}
elseif ($_POST['password'] != ($_POST['confirmpassword']))
{
echo "pass and pass confirm dont match";
}
else
{
mysql_query("INSERT INTO users (username, first_name, last_name, password, email) VALUES ('".mysql_real_escape_string($_POST['username'])."', '".mysql_real_escape_string($_POST['first_name'])."', '".mysql_real_escape_string($_POST['last_name'])."', '".mysql_real_escape_string($_POST['password'])."', '".mysql_real_escape_string($_POST['email'])."')") or die("nothing happened");
echo "created";
echo mysql_error();
}
}
or die("Nothing happened: <br>" . mysql_error());
wat krijg je dan?
Gewijzigd op 01/10/2011 13:30:43 door Ger van Steenderen
nothing happened:
Unknown column 'first_name' in 'field list'
the kolom first_name bestaat gewoon.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql = "SHOW COLUMNS FROM users";
$result = mysql_query($sql);
echo '<pre>';
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}
echo '</pre>';
?>
$sql = "SHOW COLUMNS FROM users";
$result = mysql_query($sql);
echo '<pre>';
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}
echo '</pre>';
?>
Array
(
[Field] => id
[Type] => int(11)
[Null] => NO
[Key] => PRI
[Default] =>
[Extra] => auto_increment
)
Array
(
[Field] => username
[Type] => varchar(50)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
Array
(
[Field] => hashed_password
[Type] => varchar(40)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
hernoem jouw users tabel naar _users (of iets dergelijks) en pas de naam aan in het script, dan denk ik dat je probleem ver opgelost is.
Toevoeging op 01/10/2011 15:17:45:
je kan ook in de sql de databasenaam ervoor zetten (SELECT .... FROM databasenaam.users .....)
Ik heb het geprobeerd maar weet niet hoe ik die naam moet veranderen. Had een nieuwe database aangemaakt en de tabellen geimporteerd maar dan importeer ik natuurlijk de tabel users wat me weer terug brengt naar het probleem!
M s op 01/10/2011 16:05:51:
Ik heb het geprobeerd maar weet niet hoe ik die naam moet veranderen. Had een nieuwe database aangemaakt en de tabellen geimporteerd maar dan importeer ik natuurlijk de tabel users wat me weer terug brengt naar het probleem!
Das meer een kwestie van de dump aanpassen, in neem aam dat je een sql dump maakt:
deze aanpassen in kladbok (zoeken en vervangen users met _users).
Ps.
Ikzelf gebruik dbtools manager om mijn databases te beheren daar kan ik de naam van de tabel wijzigen.
Toevoeging op 01/10/2011 17:00:43:
dbtools manager is echt een aanrader als je veel database servers moet beheren.
Je moet alleen wel remote access tot de database hebben
Gewijzigd op 01/10/2011 17:01:27 door Ger van Steenderen