wamp与mysql引发的问题

$conn=mysql_connect("localhost:3307","root",""); //开始时未加端口号
var_dump($conn);  //true

$use=mysql_query("use test",$conn);
var_dump($use);  //true

$set=mysql_query("set names utf8",$conn);
var_dump($set);  //true

$sql="insert into stu values(3,'liwu','wawa')";
$add=mysql_query($sql,$conn);
//var_dump(mysql_error()); 之前没有加这一行代码
var_dump($add); //flase

     今天通过php操作mysql时,遇到一些问题,其中最主要的,也是最让我想不明白的就是不能往数据库添加内容,但我检查语句后没发现任何错误。这让我很想不明白。

  还有就是,有时我改一下数据库的名称,会出现false的情况,但我改回test来的时候,选择数据库就不会出现问题。

  但无论是向表格中添加还是删除数据都会返回错误。

  直到有个网友给了一个方法测试错误:

var_dump(mysql_error());

 错误显示我选择的表格不存在;直到这时我才想起来以前遇到过的一个事情:以前用phpMyAdmin给数据库存添加内容,然后我打开mysql客户端后竟然没有找到我添加的内容。

  后来通过搜索才知道我把它(添加到test数据库的表格)添加到C盘去了,而我的mysql客户端是在D盘安装的,所以我就直接把test文件复制过去了,然后好像问题就解决了。而phpMyAdmin这个可视化的工具我也没有再用了。

  现在终于知道了,原来phpMyAdmin是在wamp里的,安装了C盘,而它就包括了mysql数据库,我实际上是把内容添加到这个数据库来了,而我的mysql客户端的内容是存在D盘的。

  现在,我的电脑里实际上有两个mysql数据库,而php是用wamp的,所以php默认是连接wamp里的mysql的,但也有个简单的方法可以修改一下:

  wamp里mysql默认的端口是:3306;而D盘里的默认是:3307(冲突后自己生成的吧!)

  那么,我只要连接的时候加个端口号就可以解决问题了:

$conn=mysql_connect("localhost:3307","root",""); //开始时未加端口号

  或者把my.ini文件里的端口号修改一下,把想要默认的那个数据库端口改为3306就OK了!但两个也不能用同一个端口,较小的代价的方式是只在连接时声明一下端口就可以了。


 关于端口问题,这文章说得很好:http://blog.csdn.net/zhanghaipeng1989/article/details/28402173



你可能感兴趣的:(PHP,mysql)