PHP Script не распознает данную таблицу - PullRequest
0 голосов
/ 21 мая 2011

Наконец-то я нашел время для программирования своего сайта. Проблема в том, что он не распознает стол, который я ему даю. Я пишу гостевую книгу на основе SQL. Он входит в SQL-платформу, но просто не получает базу данных ... Имя, которое я ему даю, написано на 100% правильно! Я пытался не использовать $mysql_select_db в своем скрипте, но назвал базу данных в «Select» -Statement & «Insert» -Statement. Также не работает>. <</p>

Вот мои сценарии:

addguestbook.php

<?php

//******************************************************//
//********************Database stuff********************//
//******************************************************//
$host="localhost";                  // Host name
$username="";                       // Mysql username
$password="";                       // Mysql password
$db_name="mywebsite";               // Database name
//********************Tables***************************//
$tbl_name="guestbook";              // Guestbook

if ($_SERVER['REQUEST_METHOD'] == 'POST'){

    $name = $_POST['name'];
    $email = $_POST['email'];
    $website = $_POST['website'];
    $comment = $_POST['comment'];
    $datetime=date("y-m-d h:i:s"); //date time

    // Connect to server and select database.
    mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
    //mysql_select_db("$db_name")or die("cannot select DB");


    $sql="INSERT INTO $db_name.$tbl_name(name, email, website, comment, datetime)VALUES('$name', '$email', '$website', '$comment', '$datetime')";
    $result=mysql_query($sql);

    mysql_close();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>

    <table width="700" border="0" align="center" cellpadding="3"
        cellspacing="0">
        <tr>
            <td><strong>Test Sign Guestbook </strong>
            </td>
        </tr>
    </table>
    <table width="700" border="0" align="center" cellpadding="0"
        cellspacing="1" bgcolor="#CCCCCC">
        <tr>
            <form id="form1" name="form1" method="post"
                action="index.php?mod=guestbook">
                <td>
                    <table width="400" border="0" cellpadding="3" cellspacing="1"
                        bgcolor="#FFFFFF">
                        <tr>
                            <td width="117">Name</td>
                            <td width="14">:</td>
                            <td width="357"><input name="name" type="text" id="name"
                                size="65" />
                            </td>
                        </tr>
                        <tr>
                            <td>Email</td>
                            <td>:</td>
                            <td><input name="email" type="text" id="email" size="65" />
                            </td>
                        </tr>
                        <tr>
                            <td>Website</td>
                            <td>:</td>
                            <td><input name="website" type="text" id="website" size="65" />
                            </td>
                        </tr>
                        <tr>
                            <td valign="top">Comment</td>
                            <td valign="top">:</td>
                            <td><textarea name="comment" cols="65" rows="3" id="comment"></textarea>
                            </td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td><input type="submit" name="Submit" value="Submit" /> <input
                                type="reset" name="Submit2" value="Reset" />
                            </td>
                        </tr>
                    </table></td>
            </form>
        </tr>
    </table>
    <table width="700" border="0" align="center" cellpadding="3"
        cellspacing="0">
        <tr>
            <td><strong><a href="viewguestbook.php">View Guestbook</a> </strong>
            </td>
        </tr>
    </table>

</body>
</html>

viewguestbook.php

<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong>View Guestbook | <a href="guestbook.php">Sign Guestbook</a> </strong></td>
</tr>
</table>
<br>

<?php
//******************************************************//
//********************Database stuff********************//
//******************************************************//
$host="localhost";                  // Host name
$username="";                       // Mysql username
$password="";                       // Mysql password
$db_name="mywebsite";               // Database name
//********************Tables***************************//
$tbl_name="guestbook";              // Guestbook

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
//mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $db_name.$tbl_name";
$result=mysql_query($sql);

while($rows=mysql_fetch_array($result)){
?>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td><table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td>ID</td>
<td>:</td>
<td><? echo $rows['id']; ?></td>
</tr>
<tr>
<td width="117">Name</td>
<td width="14">:</td>
<td width="357"><? echo $rows['name']; ?></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><? echo $rows['email']; ?></td>
</tr>
<tr>
<td valign="top">Comment</td>
<td valign="top">:</td>
<td><? echo $rows['comment']; ?></td>
</tr>
<tr>
<td valign="top">Date/Time </td>
<td valign="top">:</td>
<td><? echo $rows['datetime']; ?></td>
</tr>
</table></td>
</tr>
<tr>
<td>Website</td>
<td>:</td>
<td><? echo $rows['website']; ?></td>
</tr>
<tr>
</table>
<BR>
<?
}
mysql_close(); //close database
?>

изменить: сообщение об ошибке:

Предупреждение: mysql_fetch_array () ожидает параметр 1 будет ресурсом, логическое значение приведены в C: \ Anderes \ XAMPP-win32-1.7.4-VC6 \ XAMPP \ HTDOCS \ MyWorkspace \ МойВебСайт \ Data \ viewguestbook.php по линии 26

Я даже поместил несколько строк данных в таблицу вручную, тоже не работает.

Ответы [ 4 ]

1 голос
/ 21 мая 2011
  $sql="SELECT * FROM $db_name.$tbl_name";

 $sql="INSERT INTO $db_name.$tbl_name(name, email, website, comment, datetime)VALUES('$name', '$email', '$website', '$comment', '$datetime')";

Вы должны использовать следующий способ: $ db_name и $ tbl_name являются переменными

  $sql="SELECT * FROM `".$db_name."` .`".$tbl_name."`";

$sql="INSERT INTO `".$db_name."` .`".$tbl_name."`(name, email, website, comment, datetime)VALUES('$name', '$email', '$website', '$comment', '$datetime')";
0 голосов
/ 21 мая 2011

Я предполагаю, что вы убрали здесь имя пользователя и пароль для безопасности. Код выглядит хорошо для меня, как у вас есть. На моем сервере имя базы данных начинается с моего основного имени входа. Таким образом, «мой сайт» будет «myname_mywwebsite». Убедитесь, что база данных и имена таблиц написаны правильно.

0 голосов
/ 21 мая 2011

Попробуйте этот обновленный код, пожалуйста, и дайте результат.

// Connect to server and select database.
$conn = mysql_connect($host, $username, $password)or die(mysql_error());

$sql="INSERT INTO $db_name.$tbl_name(name, email, website, comment, datetime)VALUES('$name', '$email', '$website', '$comment', '$datetime')";
$result=mysql_query($sql,$conn);

mysql_close();
0 голосов
/ 21 мая 2011

в обоих файлах, которые вы используете mysql_connect("$host", "$username", "$password"), это неправильно, вы должны использовать mysql_connect($host, $username, $password). тогда это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...