2

我正在尝试SQL使用php.

我收到一个错误:

Cannot Select Database (running local on XAMPP).

XAMPP我进入xampp-security并将超级用户的密码更改为“thisthing”

我有一个名为:mydb.sql

mysql.sql:

CREATE TABLE `dpuForm` ( 
`ID` INT  NOT NULL  AUTO_INCREMENT ,
`JN` TINYTEXT  NOT NULL ,
`PN` TINYTEXT  NOT NULL ,
`QTY` TINYTEXT  NOT NULL ,
`DESC` TINYTEXT  NOT NULL ,
PRIMARY KEY (`ID`) );

INSERT INTO 'dpuForm' ('JN',...........yadayadayada

这是我的php:

<?php

$host = "localhost";
$username="root";
$password="thisthing";
$database="mydb";

mysqli_connect($host,$username,$password);
@mysqli_select_db($database) or die( "Unable to select database");

$query = "SELECT * FROM dpuForm";
$result = mysqli_query($query);
$num = mysqli_numrows($result);

mysqli_close();

?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<table>
    <th>Job Number</th>
<th>Part Number</th>
<th>QTY</th>
<th>Description</th>

<?php
      $i=0;
      while ($i < $num) {
  $f1=mysqli_result($result,$i,"JN");
  $f2=mysqli_result($result,$i,"PN");
  $f3=mysqli_result($result,$i,"QTY");
  $f4=mysqli_result($result,$i,"DESC");
    ?>
  <tr>
    <td><?php echo $f1; ?></td>
    <td><?php echo $f2; ?></td>
    <td><?php echo $f3; ?></td>
    <td><?php echo $f4; ?></td>
  </tr>
    <?php $i++;} ?>
 </table>
</body>
</html>
4

4 回答 4

4

你需要使用

$link = mysqli_connect($host,$username,$password,$database);
$result = mysqli_query($link,$query);

这是因为您使用的是 mysqli 的过程风格,而不是面向对象的。

参考:mysql数据库

于 2013-10-02T21:25:30.273 回答
2

在程序风格中,mysqli_select_db需要 2 个参数。

$link = mysqli_connect( $host, $username, $password );

mysqli_select_db( $link, $database );

但首先使用 phpMyAdmin 导入您的 mydb.sql :

  • 转到数据库选项卡并创建一个新数据库
  • 然后转到导入选项卡并导入 mydb.sql

如果您已经使用 phpMyAdmin 创建了数据库,然后根据您的设置发现 .sql 文件大于允许的大小,则一种方法是从命令行导入(Windows 命令提示符等):

mysql -u mysql-user-name -p database_name < mydb.sql

或(适当更改路径):

C:\wamp\bin\mysql\mysql5.5.24\bin\mysql -u mysql-user-name -p database_name < C:\mydb.sql
于 2013-10-02T23:01:02.147 回答
1

您可以尝试连接到 mysql_connect

例如

$con = mysql_connect("host","username","password") or die("! server");

$db = mysql_select_db("databasename",$con) or die("! db");
于 2013-10-03T04:20:04.937 回答
1

您好,如果您正在使用,mysqli_connect那么您应该使用以下内容

$con=mysqli_connect("localhost","root","password","mydb");

或者

$con=mysqli_connect("localhost","root","","mydb");

试试这个......

于 2013-10-03T05:22:52.773 回答