您的位置:首页 > 移动开发

wampserver(php+mysql+phpmyadmin+appache)安装中的错误解决方法

2013-08-27 19:23 645 查看
(如果不用wampserver的集成环境的话,可以参考如下文档去逐个安装)

http://www.jb51.net/article/22895.htm

Windows下:

一、phpmyadminn链接数据库失败:登陆localhost/phpmyadmin

     #1045 - Access denied for user 'root'@'localhost' (using password: NO)

DIY:

    (1) 去C:\wamp\apps\phpmyadmin3.2.0.1\config.inc.php.修改php配置文件中的

config.inc.php,修改密码和用户

$cfg['Servers'][$i]['password'] = '****';(****是你的密码)

$cfg['Servers'][$i]['user'] = 'root';

     (2)去C:\wamp\apps\phpmyadmin3.2.0.1\libraries\config.default.php中将语句

$cfg['Servers'][$i]['extension'] = 'mysql';前的分号去掉。

*******终极boss(美学上不推荐):重装一遍(wamp),记住保留自己写的文件。

二、将网页上的表单内容导入数据库失败

1、insert into 中的sql语句中包含了php+mysql的关键字,

DIY:这就需要我们把数据表里有冲突的内容项名称该掉。

    关键字见:

ADDALLALTER
ANALYZEANDAS
ASCASENSITIVEBEFORE
BETWEENBIGINTBINARY
BLOBBOTHBY
CALLCASCADECASE
CHANGECHARCHARACTER
CHECKCOLLATECOLUMN
CONDITIONCONNECTIONCONSTRAINT
CONTINUECONVERTCREATE
CROSSCURRENT_DATECURRENT_TIME
CURRENT_TIMESTAMPCURRENT_USERCURSOR
DATABASEDATABASESDAY_HOUR
DAY_MICROSECONDDAY_MINUTEDAY_SECOND
DECDECIMALDECLARE
DEFAULTDELAYEDDELETE
DESCDESCRIBEDETERMINISTIC
DISTINCTDISTINCTROWDIV
DOUBLEDROPDUAL
EACHELSEELSEIF
ENCLOSEDESCAPEDEXISTS
EXITEXPLAINFALSE
FETCHFLOATFLOAT4
FLOAT8FORFORCE
FOREIGNFROMFULLTEXT
GOTOGRANTGROUP
HAVINGHIGH_PRIORITYHOUR_MICROSECOND
HOUR_MINUTEHOUR_SECONDIF
IGNOREININDEX
INFILEINNERINOUT
INSENSITIVEINSERTINT
INT1INT2INT3
INT4INT8INTEGER
INTERVALINTOIS
ITERATEJOINKEY
KEYSKILLLABEL
LEADINGLEAVELEFT
LIKELIMITLINEAR
LINESLOADLOCALTIME
LOCALTIMESTAMPLOCKLONG
LONGBLOBLONGTEXTLOOP
LOW_PRIORITYMATCHMEDIUMBLOB
MEDIUMINTMEDIUMTEXTMIDDLEINT
MINUTE_MICROSECONDMINUTE_SECONDMOD
MODIFIESNATURALNOT
NO_WRITE_TO_BINLOGNULLNUMERIC
ONOPTIMIZEOPTION
OPTIONALLYORORDER
OUTOUTEROUTFILE
PRECISIONPRIMARYPROCEDURE
PURGERAID0RANGE
READREADSREAL
REFERENCESREGEXPRELEASE
RENAMEREPEATREPLACE
REQUIRERESTRICTRETURN
REVOKERIGHTRLIKE
SCHEMASCHEMASSECOND_MICROSECOND
SELECTSENSITIVESEPARATOR
SETSHOWSMALLINT
SPATIALSPECIFICSQL
SQLEXCEPTIONSQLSTATESQLWARNING
SQL_BIG_RESULTSQL_CALC_FOUND_ROWSSQL_SMALL_RESULT
SSLSTARTINGSTRAIGHT_JOIN
TABLETERMINATEDTHEN
TINYBLOBTINYINTTINYTEXT
TOTRAILINGTRIGGER
TRUEUNDOUNION
UNIQUEUNLOCKUNSIGNED
UPDATEUSAGEUSE
USINGUTC_DATEUTC_TIME
UTC_TIMESTAMPVALUESVARBINARY
VARCHARVARCHARACTERVARYING
WHENWHEREWHILE
WITHWRITEX509
XORYEAR_MONTHZEROFILL
MySQL允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们。下面列出了一些例子: 
ACTION     BIT   DATE
 ENUM  NO  EXT
 TIME TIMESTAMP 
来源:http://zhaozhi-1983.iteye.com/blog/159044

2、sql语句中标点符号用错。

DIY:

    insert语句中 字段名、表名等,无需加单引号。VALUES()中要加(整型可以不用)。

    $name=$_POST['name'];//不要$_POST[name](个人意见)

    $sql = "INSERT INTO `gbook` ( `id` , `name` , `sex` , `email` , `info` , `ip` , `time_at` ) 

    VALUES (NULL , '$name', '$sex', '$email', '$info', '$ip', NOW( ))";(id通常设为主键自增)

  *****    注意:上面两个括号里的引号不同,第一个括号里的是按波浪号所在的那个键,第二个是常用的单引号了。

3、使用异常安全代码:防止查询失败的时候,程序员不知道数据库根本没变化。

       $db_connect=mysql_connect("localhost",$username,$userpsw);

      if(!mysql_query($sql,$db_connect))

      {

           die('Error: ' . mysql_error());

       }

       echo "1 record added";

      或者使用输出一函数的返回值:echo mysql_affected_rows()。

     该函数返回数据表中哪一列被使用了查询语句。

       返回-1是因为上次的查询、更新、插入、删除、等操作失败。

      返回未知数是因为被update或者delete了。

  (局外话)

 $http_post_vars问题:

        PHP4.X版中的程序出现Notice: Undefined variable: HTTP_POST_VARS 的错误

        $HTTP_POST_VARS可以用于3.0及以下版本,

        $_POST只能用于4.0及以上版本中。

DIY:使用$_POST代替$http_post_var   

         或者:修改php.ini文件中的register_long_arrays,默认是Off,将它改成On(粗暴不推荐)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: