找回密码
 加入
搜索
查看: 4786|回复: 11

[AU3基础] MySQL 范例结果都不行

    [复制链接]
发表于 2017-4-19 22:50:11 | 显示全部楼层 |阅读模式
本帖最后由 ticket 于 2017-4-19 22:58 编辑

我参照了很多相关的MySQL范例结果都不行,没办法只好求助各位,请大家帮忙了,,谢谢
不知道是那里出错,,,
我的环境:
phpMyAdmin  版本资讯: 4.1.13
MySQL       版本资讯: 5.1.73
系统 windows 7 64位
文件夹内有的档案
C:\Users\marco\Desktop\MySQL\
運行test.au3內容如下:
#include "mysql.au3"
_MySQL_InitLibrary()
If @error Then Exit MsgBox(0, '', "could nit init MySQL")
$MysqlConn = _MySQL_Init()   ;初始化

$connected = _MySQL_Real_Connect($MysqlConn, "127.0.0.1", "root", "andrew", "")   ;连接数据库,
If $connected = 0 Then Exit MsgBox(16, 'Connection Error', _MySQL_Error($MysqlConn))

;*******************建立数据库;********************
$query = "CREATE DATABASE IF NOT EXISTS TestResult DEFAULT CHARSET gbk"   ;建立数据库
$mysql_bool = _MySQL_Real_Query($MysqlConn, $query)  
If $mysql_bool = $MYSQL_SUCCESS Then
    MsgBox(0, '', "Query OK")
Else
    $errno = _MySQL_errno($MysqlConn)
    MsgBox(0,"Error:",$errno & @LF & _MySQL_error($MysqlConn))
EndIf

$connected1 = _MySQL_Real_Connect($MysqlConn, "127.0.0.1", "root", "andrew", "testresult")   ;连接数据库
If $connected1 = 0 Then Exit MsgBox(16, 'Connection Error', _MySQL_Error($MysqlConn))
;********************建立数据表;********************
$sMySqlStatement = "CREATE TABLE IF NOT EXISTS test(" & _
                "TimeDate TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP," & _    ;时间日期类型
                "Name TEXT NOT NULL ," & _                                                               ;文字类型
                "ErrorCode INT NOT NULL  );"                                                                                                                         ;数值类型
If  _MySQL_Real_Query($MysqlConn, $sMySqlStatement) Then          ;建立数据表
    MsgBox(0, '', "Query OK")
Else
    $errno = _MySQL_errno($MysqlConn)
    MsgBox(0,"Error:",$errno & @LF & _MySQL_error($MysqlConn))
EndIf

$Name = "NPxda"
$errorcode = "11111"

Local $addrecord = "INSERT INTO mbtestresult(TimeDate,Name,ErrorCode) VALUES (NOW( )," & _
                "'" & $Name & "', " & _
                "'" & $errorcode& "'" & ");"

If _MySQL_Real_Query($MysqlConn, $addrecord) Then
        $errno = _MySQL_errno($MysqlConn)
        MsgBox(0, "Error:", $errno & @LF & _MySQL_error($MysqlConn))
Else
        MsgBox(0, '', "Query OK")
EndIf
; 结束连接
_MySQL_Close($MysqlConn)
; 退出MYSQL
_MySQL_EndLibrary()
結果出現下圖:

第6和19行改成自己的连接数据库,对吗?
不知道是那里出错了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2017-4-19 23:16:47 | 显示全部楼层
你那个DLL文件有问题吧,看看是不是X64和X86的不一致
发表于 2017-4-19 23:16:53 | 显示全部楼层
你那个DLL文件有问题吧,看看是不是X64和X86的不一致
发表于 2017-4-19 23:32:17 | 显示全部楼层
 楼主| 发表于 2017-4-20 00:13:17 | 显示全部楼层
真的也,,是libmysql.dll要X64的,,但是又有个奇怪的问题了,我明明是ip是192.168.16.71,,但确出现192.168.16.66

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2017-4-20 00:20:15 | 显示全部楼层
回复 5# ticket

    192.168.16.66 是主機的IP 吧
 楼主| 发表于 2017-4-20 11:35:41 | 显示全部楼层
本帖最后由 ticket 于 2017-4-20 11:37 编辑

我找了一下百度说,,可能是你的帐号不允许从远程登陆
以下是我查的内容,,不是道是不是这个原因,,


报错:1130-host ... is not allowed to connect to this MySql server


解决方法:

1。 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

2. 授权法。

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

另外一种方法,不过我没有亲自试过的,在csdn.net上找的,可以看一下.

在安装mysql的机器上运行:

1、d:\mysql\bin\>mysql   -h   localhost   -u   root //这样应该可以进入MySQL服务器

2、mysql>GRANT   ALL   PRIVILEGES   ON   *.*   TO   'root'@'%'   WITH   GRANT   OPTION //赋予任何主机访问数据的权限

3、mysql>FLUSH   PRIVILEGES //修改生效

4、mysql>EXIT //退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦!


发表于 2017-4-20 11:37:50 | 显示全部楼层
回复 7# ticket

在同一台電腦 上做測試 不是比較單純嗎
发表于 2017-4-20 15:34:58 | 显示全部楼层
为了MYSQL  我用PYTHON来解决了。
 楼主| 发表于 2017-4-20 16:08:33 | 显示全部楼层
有听说这个程序python满火的,有空也来研究学习一下,,谢谢喔!
发表于 2017-5-12 21:19:36 | 显示全部楼层
留个标记,mysql 我也搞来了很久了.... 可是搞不定,只能用mssql
发表于 2017-5-26 10:53:30 | 显示全部楼层
留个标记,mysql  我刚开始学习,~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 10:59 , Processed in 0.166529 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表