草庐IT

affected_rows

全部标签

php - mysql_num_rows 是否有效和/或标准做法?

前段时间我在研究SQLite,试图移植我的一些站点以使用它而不是MySQL。我因为缺少计算结果的函数而挂断了电话,例如PHP的mysql_num_rows()。稍作搜索后,我发现了thismaillist,它说(据我所知)SQLite没有那个功能,因为它效率低下。它声明编写需要知道返回了多少行的代码是错误的形式。我一般使用mysql_num_rows来检查空返回结果。例如:$query="SELECT*FROMtableWHEREthing='whatever'";$results=mysql_query($query);if(mysql_num_rows($results)){whi

php - PHP 中 mysql_affected_rows() 的奇怪行为

我有一个名为user_ips的表来跟踪用户,以防他们删除cookie或更改浏览器。所以无论如何,下面的代码很简单。它更新user_ips中等于用户ID和IP的条目。如果查询没有更新任何行,则意味着该用户的IP不在表中,因此将其插入。$site->query('UPDATE`user_ips`SET`last_time`=UNIX_TIMESTAMP(),`user_agent`=\''.$this->user_agent.'\'WHERE`ip`='.$this->ip.'AND`userid`='.$this->id);if(mysql_affected_rows()==0){$si

php - mysql_num_rows 与 mysql_numrows

如果这个问题已经得到回答,请重定向我。我一直在管理遗留系统,我注意到他们使用调用mysql_numrows而不是mysql_num_rows。我花了很多时间搜索有关这些调用的文档,但一无所获。该系统运行良好,我没有发现任何自定义函数的证据。无论如何都知道这是否是旧版本PHP中已弃用的函数?当我添加到系统时,我使用mysql_num_rows,它工作正常。是的,我知道mysql_*已经过时,应该更新系统,但这超出了我的服务范围。我主要只是好奇为什么这有效?谢谢。 最佳答案 mysql_numrows是mysql_num_rows的弃用

mysql - Drupal 数据库 API 查询 - row.update 如果存在,否则 row.insert

我一直在尝试在drupal中运行查询,如果条目已经存在则更新条目,如果不存在则插入新条目。目前的代码如下所示:db_query("IFEXISTS(SELECT%dFROM{uc_posten_packages.pid})UPDATE{uc_posten_packages}SETtitle='%s',label='%s',cost='%d',length='%d',width='%d',height='%d',weight='%d'WHEREpid=%dELSEINSERTINTO{uc_posten_packages}VALUES('%d','%s','%s','%d','%d','

php - 如何检查 $row ['column_name' ] 是否返回空 php mysql

我有一个包含列的表格id,name,phone,describe从我正在使用的这个表中获取值时$row=mysql_fetch_array($query)现在我想检查是否$row['describe']返回空值。如何checkinphp?? 最佳答案 您可以使用==0,这将检查它是否等于0:if($row['describe']==0){/*codetodo*/}或empty(),这将检查它是否为空:if(empty($row['describe'])){/*codetodo*/}就个人而言,我更喜欢!empty(),因为这将检查变

php - PDO 设置 PDO::MYSQL_ATTR_FOUND_ROWS 失败

我试图在PDO中将PDO::MYSQL_ATTR_FOUND_ROWS属性设置为true,但我似乎无法设置它。我正在使用PHP5.4.16和MySQL5.5。PDO和pdo_mysql都出现在我的phpinfo()中。以下是我尝试将其设置为true的方法。publicfunction__construct(){$dsn='mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8';$this->_db=newPDO($dsn,DB_USER,DB_PASS);//ThefollowingsetAttribute()returnsFAL

PHP/MySQL : Why is my query only returning the first row?

为什么我的方法只返回表格的第一行?我不明白为什么,这让我发疯。我敢肯定这很简单。publicfunctiongetTitlesForRegistrationForm(){$result=$this->_db->query("SELECTUserTitleID,UserTitleNameFROMUserTitles");$i=0;$array[0]="Noresult";foreach($result->fetch(PDO::FETCH_ASSOC)as$row){$array[$i]=$row;$i++;}return$array;}谢谢。 最佳答案

MySQL 工作台 : Do not open new tab on "Select Rows"

如果您右键单击MySQLWorkbench中的一个表并单击“选择行-限制1000”,将创建一个新选项卡。在旧版本中,这个新查询会简单地覆盖您当前的选项卡。这种新设置通常意味着我可以在MySQLWorkbench中快速打开数百个选项卡,但我会丢失重要的选项卡。对于像我这样经常使用该功能的人来说,这有点困惑。无论如何要恢复旧功能? 最佳答案 这是一个简单的解决方案...当您右键单击表格时...不要选择“选择行-限制1000”...下面的选项二会将查询放在当前选项卡中..“发送到SQL编辑器”选项是您要将其放在当前查询选项卡中的内容做这个

java.sql.SQLException : Incorrect string value: '\xF0\x9F\x98\x8F' for column 'tweetcontent' at row 1 异常

我尝试将推特提要保存在下表中的mysql数据库中CREATETABLE`tweets`(`id`int(11)NOTNULLAUTO_INCREMENT,`tweetcontent`varchar(255)CHARACTERSETutf8mb4NOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=22DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_ci;但是出现了如下错误java.sql.SQLException:Incorrectstringvalue:'\xF0\x9F\x98\x8F'

PHP - echo $row 产生相同的输出

我有一个问题,下面语句的输出显示了正确的内容,但是当我单击其中一个项目(超链接)时,它们最终都出现在同一页面,底部行的名称相同:prepare("SELECTDISTINCTdog_park_nameFROMdog_parks.itemsWHEREdog_park_nameLIKE'%{$KEYWORD}%'");$stmt->execute();for($i=0;$row=$stmt->fetch();++$i){$_SESSION["dog_park"]="$row[0]";?>DogPark我搜索一个关键字,它产生以下正确的输出:TRAMWAYSTDOGOFFLEASHAREAS