【发布时间】:2013-04-23 13:13:09
【问题描述】:
我正在尝试用开发电子邮件地址替换电子邮件地址,以便测试我的电子邮件发送功能。
下面的函数导致我的网页停止响应,当我尝试查看 SQL Server Management 2008 中的表时,我无法响应。我相信问题出在这条线上
$scrub = sqlsrv_query($conn, "UPDATE " . $tName . " SET DCAEmail='test@test.edu'");
不过,我不确定。整个函数:
function scrubEmail($conn){
$tableNameList = array();
$getTableName = sqlsrv_query($conn, "Select Name FROM sys.tables");
while($row = sqlsrv_fetch_array($getTableName)){
if($row['Name'] !== "sysdiagrams"){
$tableNameList[] .= $row['Name'];
}
}
foreach($tableNameList as &$tName){
$hasDCAEmail = sqlsrv_query($conn, "SELECT DCAEmail from " . $tName );
if($hasDCAEmail){
$scrub = sqlsrv_query($conn, "UPDATE " . $tName . " SET DCAEmail='test@test.com'");
if(!$scrub){
die( print_r( sqlsrv_errors(), true));
}
}
}
}
【问题讨论】:
-
您要更新多少条记录?
-
为什么无法查看 SQL SM 2008 中的表?
-
呃,你真的要在没有 where 子句的情况下更新整个表吗?
-
Chris - 我正在更新大约 1000 条记录。 Raidenance - 我不知道 :) 我尝试刷新数据库,并展开“tables”文件夹。它给了我一个锁定错误(1222)
-
如果您希望所有电子邮件地址都相同,更简单的答案是删除该列并将该值存储一次,在其他地方。
标签: php sql sql-server select sql-update