magento根据产品模型号及尺码,进行上下架操作。

SELECT option_id    FROM `catalog_product_option`  where  product_id=(SELECT entity_id   FROM `catalog_product_entity`  where sku=’test’ )

option_type_id=SELECT  F.option_type_id   FROM  catalog_product_option_type_value as F left join catalog_product_option_type_title as S     on  F.option_type_id=S.option_type_id where F.option_id=55 and S.title=’M’

delete FROM `catalog_product_option_type_value` where  option_type_id=310

delete   FROM `catalog_product_option_type_price`  where option_type_id=310 ——-下架SQL

整体下架:

update cataloginventory_stock_item set qty=’0′ where item_id=(select entity_id as item_id from catalog_product_entity where sku=’sku值’);
———————————–上架SQL

SELECT option_id    FROM `catalog_product_option`  where  product_id=(SELECT entity_id   FROM `catalog_product_entity`  where sku=’test’ )

$arrInfo=SELECT option_type_id   FROM `catalog_product_option_type_value` where option_id=’55’ —-查询主表的信息
//备注:$arrInfo数组

循环删除下面属性表
foreach($arrInfo as  ){

delete FROM `catalog_product_option_type_value` where  option_type_id=310

delete   FROM `catalog_product_option_type_title` where  option_type_id=310
}

delete FROM `catalog_product_option_type_value` where option_id=’55

插入数据
insert into catalog_product_option_type_value set option_id=’55’,sku=1,sort_order=1
foreach(){

获取option_type_id插入属性表
insert into catalog_product_option_type_price set set option_type_id=314,store_id=0

insert into catalog_product_option_type_title  set option_type_id=314,store_id=0,title=’M’

}


关注公众号,了解更多it技术(it问答网

opencart根据产品模型号、尺码进行产品上下架操作。

整体下架:

update product  set quantity=0 where model=”model号”;

根据相应的产品模型号和尺码进行操作:

$sql=” update product_option_value set quantity=0,subtract=1 where  product_id=(select product_id from product where model='”.$model.”‘)  and option_value_id=(select option_value_id from option_value_description where name='”.$size.”‘)”;


关注公众号,了解更多it技术(it问答网

linux下修改IP、DNS、路由命令行设置

linux下修改IP、DNS、路由命令行设置

ubuntu 版本命令行设置IP
cat /etc/network/interfaces

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inet static

address 192.168.1.104

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

gateway 192.168.1.2

# dns-* options are implemented by the resolvconf package, if installed

dns-nameservers 58.22.96.66 218.104.128.106 202.101.138.8

dns-search .COM

重启网卡: /etc/init.d/networking restatr

 

Ubuntu IP对于电脑使用的玩家的常用软件,然后我就学习及深入的研究Ubuntu IP,在这里和大家一起探讨Ubuntu IP的使用方法,希望对大家有用。Ubuntu IP地址配置.

一、使用命令设置Ubuntu IP地址

1.修改配置文件blacklist.conf禁用IPV6:sudo vi /etc/modprobe.d/blacklist.conf

2.在文档最后添加 blacklist ipv6,然后查看修改结果:cat /etc/modprobe.d/blacklist.conf

3.设置Ubuntu IP(设置网卡eth0的IP地址和子网掩码)sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0

4.Ubuntu IP设置网关sudo route add default gw 192.168.2.254

5.Ubuntu IP设置DNS 修改/etc/resolv.conf,在其中加入nameserver DNS的地址1 和 nameserver DNS的地址2 完成。

6.重启网络服务(若不行,请重启ubuntu:sudo reboot):sudo /etc/init.d/networking restart

7.查看当前Ubuntu IP:ifconfig

二、直接修改Ubuntu IP系统配置文件

Ubuntu IP的网络配置文件是:/etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载。

1. 以DHCP方式配置网卡

编辑文件/etc/network/interfaces:  sudo vi /etc/network/interfaces

并用下面的行来替换有关eth0的行:

# The primary network interface – use DHCP to find our address  auto eth0  iface eth0 inet dhcp

用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

也可以在命令行下直接输入下面的命令来获取地址sudo dhclient eth0

2. 为网卡配置静态Ubuntu IP地址

编辑文件/etc/network/interfaces:  sudo vi /etc/network/interfaces

并用下面的行来替换有关eth0的行:

# The primary network interface  auto eth0  iface eth0 inet static  address 192.168.2.1  gateway 192.168.2.254  netmask 255.255.255.0  #network 192.168.2.0  #broadcast 192.168.2.255

将上面的Ubuntu IP地址等信息换成你自己就可以了.用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

3. 设定第二个Ubuntu IP地址(虚拟IP地址)

编辑文件/etc/network/interfaces:  sudo vi /etc/network/interfaces

在该文件中添加如下的行:

auto eth0:1  iface eth0:1 inet static  address x.x.x.x  netmask x.x.x.x  network x.x.x.x  broadcast x.x.x.x  gateway x.x.x.x

根据你的情况填上所有诸如address,netmask,network,broadcast和gateways等信息:用下面的命令使网络设置生效:sudo /etc/init.d/networking restart

4. 设置主机名称(hostname)
使用下面的命令来查看当前主机的主机名称:sudo /bin/hostname
使用下面的命令来设置当前主机的主机名称:sudo /bin/hostname newname
系统启动时,它会从/etc/hostname来读取主机的名称。

5. 配置DNS

首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址,这是简单使用本机的静态查询。要访问DNS 服务器来进行查询,需要设置/etc/resolv.conf文件,假设DNS服务器的IP地址是192.168.2.2, 那么/etc/resolv.conf文件的内容应为:
search chotim.com
nameserver 192.168.2.2

6.手动重启网络服务:sudo /etc/init.d/networking restart

返回结果如下:
*Reconfiguring network interfaces… [OK]

redhat linux版本命令行设置IP:

  ifconfig eth0 新ip

  然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip

  一、修改IP地址

  [aeolus@db network-scripts]$ vi ifcfg-eth0

  DEVICE=eth0

  ONBOOT=yes

  BOOTPROTO=static

  IPADDR=219.136.241.211

  NETMASK=255.255.255.128

  GATEWAY=219.136.241.254

  二、修改网关

  vi /etc/sysconfig/network

  NETWORKING=yes

  HOSTNAME=Aaron

  GATEWAY=192.168.1.1

  三、修改DNS

  [aeolus@db etc]$ vi resolv.conf

  nameserver 202.96.128.68

  nameserver 219.136.241.206

  四、重新启动网络配置

  /etc/init.d/network restart五、例子

1、修改ip地址

即时生效:

# ifconfig eth0 192.168.0.20 netmask 255.255.255.0

启动生效:

修改/etc/sysconfig/network-scripts/ifcfg-eth0

2、修改default gateway

即时生效:

# route add default gw 192.168.0.254

启动生效:

修改/etc/sysconfig/network-scripts/ifcfg-eth0

修改dns

修改/etc/resolv.conf

修改后可即时生效,启动同样有效

3、修改host name

即时生效:

# hostname fc2

启动生效:

修改/etc/sysconfig/network

ps:

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.8.85

NETMASK=255.255.248.0

GATEWAY=192.168.8.1

HWADDR=00:0uu3:47:2C:D5:40

ONBOOT=yes

4:添加linux系统启动项:

vi /etc/rc.d/rc.local

修改Linux系统SSH的端口号

修改Linux系统SSH的端口号 操作系统linux和Unix都适用: 修改配置文件 /etc/ssh/sshd_config,将里面的Port改为新端口(此端口必须是没有程序用到),比如10022, 然后

kill -HUP `cat /var/run/sshd.pid` 就行了。 注:现有连接自己不会断,因为kill -HUP `

修改Linux系统SSH的端口号

操作系统linux和Unix都适用:

修改配置文件 /etc/ssh/sshd_config,将里面的Port改为新端口(此端口必须是没有程序用到),比如10022,

然后 kill -HUP `cat /var/run/sshd.pid` 就行了。

注:现有连接自己不会断,因为kill -HUP `cat /var/run/sshd.pid` 只是HUP监听的那个,已经建立的连接(不同的 pid)不会断。

要想重新启用并用新端口登陆 ,此时可以在本登陆帐户下 用 exit 命令退出,在用新的端口登陆即可!

本文来自[Svn中文网]转发请保留本站地址:http://svn8.com/linux/WL/20091223/15603.html

 

linux单网卡上配置双IP文章分类:操作系统

/sysconfig/network-scripts在network-scripts下有一个ifcfg-eth0

复制ifcfg-eth0 为ifcfg-eth0:1

然后用vi编辑进行编辑
vi ifcfg-eth0:1
# Intel Corporation 82566DC Gigabit Network Connection
DEVICE=eth0
BOOTPROTO=none
BROADCAST=218.95.37.255
HWADDR=00:19:d1:34:2d:b8
IPADDR=218.95.37.250——————IP地址
NETMASK=255.255.255.192—————子网掩码
NETWORK=218.95.37.192
ONBOOT=yes
GATEWAY=218.95.37.193—————–网关
TYPE=Ethernet

按shfit键加:
:wq

保存退出然后把eth0:1激活就可以了。

ifconfig eht0:1 up

 

RedHat Linux一个网卡配置多个IP

linux下一个网卡如何配置多个IP?RedHat linux下边图形界面的网络配置没有找到在哪里配置第二个IP的地方。
如果临时性的增加一个IP(重启后就丢失了),可以使用ifconfig命令;ifconfig的用法可以使用man ifconfig查看,最常用的给网卡配置ip的命令为
#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
说明:
eth0是第一个网卡,其他依次为eth1,eth*
192.168.0.1是给网卡配置的第一个网卡配置的ip地址
netmask 255.255.255.0 配置的是子网掩码
up是表示立即激活
如果给单个网卡eth0配置多个ip地址如何操作呢,如果使用ifconfig命令那么上边需要改动的地方只有eth0这个而已,查了一些资料,明白了将 eth0改为eth0:x(x是0-255例如eth0:0或者eth0:1等等),eth0:x称为虚拟网络接口,是建立在网络借口 (eth0)上边。
所以给单网卡配置多ip的方法就是使用命令:
#ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0 up
#ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0 up
#ping 192.168.0.1
#ping 192.168.0.2
ping测试通过,就完成了单网卡配置多ip的功能。reboot以后发现ip地址变了回去。
所以必须设置启动时自动激活ip设置
第一种:
将上边的命令ifconfig加入到rc.local中去
第二种:
就是仿照/etc/sysconfig/network-scripts/ifcfg-eth0增加一文件根据网络虚拟接口的名字进行命名
例如ifcfg-eth0:0或者ifcfg-eth0:1等等
#下边看下ifcfg-eth0:0文件里面的配置信息
DEVICE=eth0:0 #网络虚拟接口eth0:0
ONBOOT=yes #启动的时候激活
BOOTPROTO=static #使用静态ip地址
IPADDR=192.168.0.1 #分配ip地址
NETMASK=255.255.255.0 #子网掩码
其他配置文件类似。
重启网络服务
#service network restart
ping测试,配置成功。

如何关闭一个ip呢则使用
#ifconfig eth*[:x] down(*代表的是网卡编号,x代表虚拟接口号0-255)

提示:传说有个netconfig,在RedHat企业版5上面并没有找到。
提示:RedHat linux下边图形界面的网络配置没有找到在哪里配置第二个IP的地方。
这句话有误,可以采用复制网卡,就可以配置第二个IP;不过这样做,居然出错!
变成图形界面,也并没有变得容易理解;需要尝试几次,才弄明白图形跟文本配置之间的对应关系。

 

#!/bin/sh

eth01=/etc/sysconfig/network-scripts/ifcfg-eth0:1

touch $eth01

echo DEVICE=eth0:1>>$eth01
echo BOOTPROTO=none>>$eth01
echo IPADDR=192.168.40.76>>$eth01
echo NETMASK=255.255.255.0>>$eth01
echo ONBOOT=yes>>$eth01

/etc/init.d/network restart


关注公众号,了解更多it技术(it问答网

RedHat 9 Linux开启SSH服务命令

启动:

service sshd start

安装过程:

1.以root身份登入系统(没登入系统和没有足够的权限都不能安装,晕,这不是废话)
2.检查安装系统时是否已经安装SSH服务端软件包:
rpm -qa|grep openssh
若显示结果中包含openssh-server-*,则说明已经安装,直接启动
sshd服务就可以了(service sshd start).(其中*的内容是该包的版本,一般为3.5p1-6)
若无任何显示,或显示中不包含openssh-server-*则说明没有安装SSH服务端软件包, 进入第3步
3.找到redhat 9.0 安装光盘,放入光驱中并加载光驱
mount -t iso9660 /dev/cdrom /mnt/cdrom   (加载光驱命令)
4.查找光驱中的SSH服务端软件所在目录,一般在/mnt/cdrom/RedHat/RPMS/目录下,
可以先cd到该目录下再用ls查看,如:ls openssh*,然后根据上面具体显示直接安装
rpm -ivh openssh-3.5p1-6 (如果第二步中显示已经安装该包就不要安装)
rpm -ivh oeenssh-server-3.5p1-6
5.启动sshd服务 /etc/rc.d/init.d/sshd start
netstat -a | more看有没正常启动

如果出现:

tcp   0      0 *:ssh         *:*         LISTEN

就说明正常启动了

6.在windows 下用putty等SSH客户端软件连接测试,或直接在linux主机上输入
ssh 测试,但必须要先安装linux 下的SSH客户端软件包,即
openssh-clients-*,安装过程和上面的服务端包相同
7.若能成功远程登入,则说明SSH服务安装配置成功,
否则很可能就是你的防火墙阻止连接了,重新配置防火墙或干脆先停掉防火墙
(/etc/rc.d/init.d/iptables stop) 就可以连接了

或者service  iptables stop

或者

修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

 

 

#########################################

启用Linux SSH服务,远程登陆Linux虚拟机

 

在Windows系统下使用VMWare虚拟Linux,经常要在虚拟机与主机之间传递数据和文件,为此使用SSH Secure Shell Client等工具来对Linux虚拟机进行远程控制和传递文件等操作都很方便。下面简要叙述之。

主机系统: Windows 7 x64

虚拟机软件: VMWare 7.0.0

虚拟机系统: Redhat EL 5

Step 1: 启用Linux SSH服务

chkconfig –list | grep sshd 查看sshd服务在哪种级别下开启,建议only 3。

防火墙规则中必须允许sshd访问,可以:

1.清除防火墙规则,#iptables -F

2.#iptables -A INPUT -p tcp –dport 22 -j ACCEPT

#iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT

Step 2: 配置虚拟机网络

虚拟机的网卡设置最好设置为桥接,然后设置好虚拟机的IP,使用Ping命令检查虚拟机与主机之间是否已连通。

Step 3: 启动SSH Secure Shell Client

点击Quick Connect, 输入虚拟机的IP地址,输入虚拟机登陆用户名,选择端口22,Authentication选择密码,点击Connect, 再输入登陆密码即可连接。

PS:

Redhat下查看IP命令:ifconfig (非root用户请用”/sbin/ifconfig”)。


关注公众号,了解更多it技术(it问答网

手把手教你Linux关闭防火墙命令

Linux还是比较常用的,于是我研究了一下Linux关闭防火墙命令,在这里拿出来和大家分享一下,希望你能学会Linux关闭防火墙命令 。

1) 永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭: chkconfig iptables off

2) 即时生效,重启后复原

开启: service iptables start

关闭: service iptables stop

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在开启了防火墙时,做如下设置,开启相关端口,

修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

通过本文你了解到了Linux关闭防火墙命令,以及怎样安装好Linux关闭防火墙命令。希望你分享本文。


关注公众号,了解更多it技术(it问答网

虚拟主机VMWARE下centos安装找不到硬盘解决方法

各位在装CENTOS中肯定遇到,在安装过程中发现一直找不到硬盘,奇怪了,虚拟主机上明明显示硬盘大小了,怎么还找不到,我就在网上搜索了下,发现原来是我设置硬盘为SCSI的,只要把其改成IDE结口就OK了。
解决方法如下
首先关闭虚拟机电源。
点击“编辑虚拟机设置”,选中“硬盘(SCSI0.0)”单击“移除”。
点击“添加”,
“下一步”—-
“硬盘”—-
“创建一个新的虚拟磁盘”—-
“IDE”—–
“下一步”—-
“完成”。

 

一句话:选择IDE硬盘。。。。


关注公众号,了解更多it技术(it问答网

AS3与JS进行交互(一)

AS3与JS进行交互(一)

这个话题在网上应该说很好找,有很多这方面的资料。比者也看过一些,不过大部分都是AS2与JS进行交互。很少提到AS3,即使有,也让人感觉浅尝辄止。很多东西并没有介绍的太清楚。所有笔者萌生了写这样一篇教程的想法!

提及AS3与外部脚本的交互,笔者认为可以总结成两种。一是AS3调用外部函数,二是外部脚本调用AS3函数。无外乎就这两种。在调用函数的同时,我们还可以向函数传递一些参数。这就达到了传递数据的目的。举一个最简单的例子。我们平时在网络上看视频的时候,这些用AS3制作的播放器就是由外部脚本(可能是JS,也可能是ASP或其他脚本)传递给它的视频地址。从而就简化我们的后台程序。有的人会问!你用播放器去读取外部的XML数据不是也可以吗?确实,当时,当你有成千上万个视频的时候,你不可能输入这么多数据。一是比较麻烦,二来是影响了网页运行的速度。所以,AS3与外部脚本进行交互是非常重要的。

其实,我们做的绝大多数带有交互性的FLASH程序都要多多少少与后台的其他语言进行交互。这里,我们就以JS脚本来举例说明交互的过程。当然,AS3与JS脚本可以说有血缘关系,具体的大家可以去查看一下FLASH的发展历史。好了!废话不多说,我们这就开始讲如何让JS与AS3进行一些信息的交换。本节中,我们只讲解JS调用AS3中的函数。反向的调用我们将在下一节中进行讲解!

首先,我们新建一个FLASH文档,然后在舞台上绘制一个动态文本,该文本的实例名称为wen_txt。好了!美工的部分就算完成了(我们这里是一个非常简单的实例,不要求太复杂。力求突出重点)!

现在,我们要在FLASH中建立一个允许被外部调用的函数。那么如何去建立声明这样一个函数呢?我们要使用到一个类,这个类的名字就是ExternalInterface。很多人都没有太注意过这个类。这个类实际上是在flash.external 包中。这个包是专门用来和外部容器进行通信的。那么对这个ExternalInterface类,它的官方解释是“ExternalInterface 类是外部 API,在 ActionScript 和 Flash Player 的容器之间实现直接通讯的应用程序编程接口,例如,含有 JavaScript 的 HTML 页。”很显然,这里已经提到了JS。好了!下面我们就来写一下脚本吧!如下:

ExternalInterface.addCallback(“abcd”,yun);
function yun(zi:String):void{
wen_txt.text = zi;
}
我们看,建立一个可以被外部调用的函数实际上就是使用了ExternalInterface类的addCallback方法。我们可以从宏观上这样理解。但实际上它的真正作用是将一个函数注册为可从容器调用。实际上我们的FLASH端就这么简单。好了!保存文件,发布。注意!这里,我发布出来的SWF文件的文件名是ab.swf。

上面我们已经将FLASH端的脚本写好了,下面我们来编写JS代码,其实也是一个HTML网页代码,这个HTML代码中包含JS代码!如下:

<!– saved from url=(0014)about:internet –>
<html lang=”en”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>FLASH与JS交互</title>
<script language=”JavaScript”>
function pageInit() {
sendToActionScript(“你好”);
}
function sendToActionScript(value) {
window.ExternalInterfaceExample.abcd(value);
}
</script>
</head>
<body onload=”pageInit();” onclick=”sendToActionScript(“sefd34″)”>
<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″
id=”ExternalInterfaceExample” width=”500″ height=”500″
>
<param name=”movie” value=”ab.swf” />
</object>
</body>
</html>

好了!现在将这个网页保存到和ab.swf同一文件夹下,然后运行这个网页。当程序运行的时候,我们就可以看到FLASH中的动态文本会出现“你好”字样!这个过程就是JS调用AS3函数,同时向FLASH传递了一个参数,或者说传递了一组数据。

关于这段JS代码,我们就不多说了。因为涉及到很多JS脚本的只是。大家可以在网上查找相关的资料,就可以明白这段JS脚本的含义了!

本节我们就讲解到这里,下一节我们讲解,FLASH如何向JS传递参数!

AS3与JavaScript进行交互(二)2009-11-26 17:20       书接上文,上次我们讲到JS向FLASH传递参数。本节我们来讲解FLASH向JS传递参数。

先说说原理吧。实际上我们所浏览的每一个网页都可以看作是一个容器。那何为容器呢?说白了就是一个盒子。在这个盒子里面放着许多东西,包括网页中的文字,图片,FLASH,脚本,按钮,文本框等。所以,我们的FLASH如果想访问网页中的JS函数,实际上就是访问上一级中的函数。这种操作相对就要简单一些。因为我们的JS函数对网页中的成员都是公开的,这个网页中的任何元素都能够调用这个JS函数。同样,FLASH也拥有这样的权限。那么好了!我们来看看在网页中具体是怎样做的。

我们这次先来写网页代码,因为网页这边是接受端。代码如下:

<!– saved from url=(0014)about:internet –>
<html lang=”en”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>FLASH与JS交互</title>
<script language=”JavaScript”>
function sendToJavaScript(value) {
document.forms[“form1”].output.value += “\n” + “ActionScript says: ” + value;
}
</script>
</head>
<body>
<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″
id=”ExternalInterfaceExample” width=”500″ height=”500″
>
<param name=”movie” value=”ab.swf” />
</object>
<form name=”form1″ onsubmit=”return false;”>
<textarea cols=”60″ rows=”20″ name=”output” readonly=”true”>Initializing…</textarea>
</form>
</body>
</html>

具体的什么意思笔者在这里就不多说了,属于JS方面的知识,大家可以去查看相关资料。好了下面就是FLASH端的代码了!我们先来做美工界面。画一个输入文本,实例名为wen_txt,再做一个影片剪辑元件,实例名为an_mc。好了!美工部分做完了!我们来写脚本。如下:

an_mc.addEventListener(MouseEvent.CLICK,chuan);
function chuan(evt:Event):void {
ExternalInterface.call(“sendToJavaScript”, wen_txt.text);
}
我们看,其实在FLASH中调用外部的JS函数还是用到了ExternalInterface类。而这次我们是使用的call方法。

好了!运行网页,我们在FLASH的输入文本中输入一串文字,然后按一下按钮。之后这段文字就会出现在网页的文本框里面!

大家可以自己动手做一次,体会一下FLASH向JS传递参数的过程!


关注公众号,了解更多it技术(it问答网

Flash AS3.0通过PHP和MYSQL数据库连接

PHP,一种创建动态交互性站点的脚本语言,PHP是免费的,类似于asp,jsp等脚本语言,当然他们各有各的特色,PHP语法类似于Perl和C语言,对于学过编程语言的人来说,学习PHP起来简单的很,我们常用的是PHP配合Apace服务器的使用,最为常见的例如Wordpress,Dede等CMS系统。

Mysql是目前流行的一种数据库,使用方便简单,操作性强,一般都是通过phpmyadmin操作后台使用。

今天做flash的时候,需要进行数据库的链接,而flash无法直接和数据库进行通信,它必须通过一种中介语言与数据库进行交流,即flash as3.0- php(asp,jsp)-mysql等,这是目前很流行的一种做法。

PHP运行环境:

省事一些,安装Xampp,集成了mysql,apache等,免去配置的一切麻烦, 注意Xampp要安装在中文目录下,安装结束后D:\xampp\htdocs文件下放置网站目录文件即可,启动Xampp,建立好数据库,访问http://localhost/website即可访问到website下的网站文件(website文件夹的目录路径为D:\xampp\htdocs\website)。

Mysql数据库连接:(具体php语法在此不再赘述)

<?php
class Sqlconnect
{
private $userName=”root”;
private $userPwd=”123″;
private $dbName=”example”;
private $serverName=”localhost”;

function __construct()
{
//连接数据库
$this->conn=mysql_connect($this->serverName,$this->userName,$this->userPwd);
//选择数据库
$this->my_db=mysql_select_db($this->dbName,$this->conn);
}
//返回model列的内容数组

function method(){//数据库操作语句}
?>

Flash As3.0代码:(前提是你明白什么事AS3.0代码,类似java的一种面向对象的语言,功能好比as1.0,as2.0,一般写在帧上)

//数据库连接
var hostName:String = “http://localhost/amfphp/”;
var gatewayUrl:String = hostName+”gateway.php”;
var nc:NetConnection = new NetConnection();
nc.objectEncoding = 0;
nc.connect(gatewayUrl);
nc.call(“Sqlconnect.method”,new Responder(onResult1,onFault));//这是对于php文件中类方法的调用,会java的人一看就懂。
function onFault(re:Object) {}
function onResult1(re:Object) {
trace(re)}

以上仅仅是文件代码的编写,下面介绍一下针对Flash和数据库连接的环境配置,这是关键。

当然使用Flex开发的话,一切都简单的很,我决定下个月学习一下Flex,估计很不错,之前学了As3.0,感觉真的很强大,我使用的是AMF环境配置来操作as3.0和php进行数据库操作的。

首先,下载一下AMF文件即可,网上Google一下到处都是的,可以从本地网站下载:amfphp 1.9

其次,解压amf文件,amf文件夹放置到D:\xampp\htdocs下面即可,然后数据库连接和操作的php文件放到D:\xampp\htdocs\amf\services下即可了。

以上只是简单的介绍了Flash通过php文件对数据库进行的操作,今后再从头详议。


关注公众号,了解更多it技术(it问答网

MySQL更改root密码

提示:不同的mysql版本,修改账户密码方式略有不同,如:mysql8修改密码

mysql -u root mysql

use mysql;

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;

flush privileges;

 

=====================================

如下是mysql5.6-5.7修改账户和密码:

第一种︰使用 set password 語法

shell> mysql -u root mysql

mysql> SET PASSWORD FOR root=PASSWORD(’new_password’);

第三种︰使用 mysqladmin命令

shell>mysqladmin -u root password new_password

如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置:

1. KILL掉系统里的MySQLD进程;

killall -TREM mysqld

2. 用以下命令启动MySQL,以不检查权限的方式启动;

mysqld_safe -skip-grant-tables &

3. 然后用空密码方式使用root用户登录 MySQL;

mysql -u root

4. 修改root用户的密码;

mysql> update mysql.user set password=PASSWORD(’新密码’) where User=’root’;

mysql> flush privileges;

mysql> quit

5. 重新启动MySQL,就可以使用新密码登录了

注释:在大多数的情况下,修改MySQL是需要有mysql里的root权限的,所以一般用户无法更改密码,除非请求管理员。

方法1

使用phpmyadmin,这是最简单的了,修改mysql库的user表,

不过别忘了使用PASSWORD函数。

方法2

使用mysqladmin,这是前面声明的一个特例。

DE>DE>mysqladmin -u root -p password mypasswd

输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。

把命令里的root改为你的用户名,你就可以改你自己的密码了。

当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,

那么这种方法就是无效的。 而且mysqladmin无法把密码清空。

下面的方法都在mysql提示符下使用,且必须有mysql的root权限:

方法3

DE>DE>mysql> INSERT INTO mysql.user (Host,User,Password) VALUES(\%,jeffrey,PASSWORD( iscuit)); mysql> FLUSH PRIVILEGES

确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。在《mysql中文参考手册》里有这个例子,所以我也就写出来了。 注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。

方法4

和方法三一样,只是使用了REPLACE语句

DE>DE>mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES(\%,jeffrey,PASSWORD( iscuit)); mysql> FLUSH PRIVILEGES

方法5

使用SET PASSWORD语句,

DE>DE>mysql> SET PASSWORD FOR jeffrey@”%” = PASSWORD( iscuit);

你也必须使用PASSWORD()函数,

但是不需要使用FLUSH PRIVILEGES。

方法6

使用GRANT … IDENTIFIED BY语句

DE>DE>mysql> GRANT USAGE ON *.* TO jeffrey@”%” IDENTIFIED BY iscuit

这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。

注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。


关注公众号,了解更多it技术(it问答网